コード例 #1
0
 public static function sendMessage($body)
 {
     if (Yii::app()->params['USE_BEANSTALK'] === '0') {
         return false;
     }
     //Connect to the queue
     $queue = new Phalcon\Queue\Beanstalk(array('host' => Yii::app()->params['BEANSTALK_SERVER'], 'port' => Yii::app()->params['BEANSTALK_PORT']));
     $queue->choose(Yii::app()->params['TUBE_PLAY_HISTORY']);
     //Insert the job in the queue
     $queue->put($body);
 }
コード例 #2
0
 public function sendAction()
 {
     $config = ['driver' => 'smtp', 'host' => 'Host URL', 'port' => 587, 'encryption' => 'tls', 'username' => '*****@*****.**', 'password' => 'API secret key', 'from' => ['email' => '*****@*****.**', 'name' => 'Customer Support']];
     $mailer = new \Phalcon\Ext\Mailer\Manager($config);
     $queue = new Phalcon\Queue\Beanstalk(array('host' => '127.0.0.1', 'port' => '11300'));
     $queue->put(array('sendEmail' => rand()));
     while (($job = $queue->peekReady()) !== false) {
         $to = $this->request->getPost('to');
         $subject = $this->request->getPost('subject');
         $content = $this->request->getPost('content');
         $message = $mailer->createMessage()->to($to)->subject($subject)->content($content);
         $message->send();
         $job->delete();
     }
     return $this->flash->success("Email has been put to the queue!");
 }
コード例 #3
0
ファイル: BeanstalkTest.php プロジェクト: aisuhua/phalcon-php
 public function testBasic()
 {
     $queue = new Phalcon\Queue\Beanstalk();
     try {
         @$queue->connect();
     } catch (Exception $e) {
         $this->markTestSkipped($e->getMessage());
         return;
     }
     $expected = array('processVideo' => 4871);
     $queue->put($expected);
     while (($job = $queue->peekReady()) !== false) {
         $actual = $job->getBody();
         $job->delete();
         $this->assertEquals($expected, $actual);
     }
 }
コード例 #4
0
 public function run()
 {
     $config = DI::getDefault()->getConfig();
     $queue = new Phalcon\Queue\Beanstalk(array('host' => $config->monitor->beanstalkHost, 'port' => $config->monitor->beanstalkPort));
     while (($job = $queue->peekReady()) !== false) {
         $message = $job->getBody();
         if (isset($message['GatewayStatusUpdate'])) {
             $gatewayId = $message['GatewayStatusUpdate'];
             $gateway = Gateway::findFirstByID($gatewayId);
             if ($gateway) {
                 $slackMessage = 'Gateway ' . $gateway->eui;
                 if (!empty($gateway->remarks)) {
                     $slackMessage .= ' (' . $gateway->remarks . ')';
                 }
                 $slackMessage .= ' is now ' . $gateway->status . '!';
                 $slackMessage .= "\n" . 'it was last seen on ' . $gateway->last_seen;
                 $slackMessage .= "\n" . 'more details at <http://ttnstatus.org/gateways/' . $gateway->eui . '>';
                 $this->sendSlackMessage($slackMessage);
             }
         }
         $job->delete();
     }
 }
コード例 #5
0
ファイル: BeanstalkTest.php プロジェクト: acwtools/cphalcon
 public function testStats()
 {
     $queue = new Phalcon\Queue\Beanstalk();
     try {
         @$queue->connect();
     } catch (Exception $e) {
         $this->markTestSkipped($e->getMessage());
         return;
     }
     $this->assertTrue($queue->choose('beanstalk-test') !== false);
     $queueStats = $queue->stats();
     $this->assertTrue(is_array($queueStats));
     $tubeStats = $queue->statsTube('beanstalk-test');
     $this->assertTrue(is_array($tubeStats));
     $this->assertTrue($tubeStats['name'] === 'beanstalk-test');
     $this->assertTrue($queue->statsTube('beanstalk-test-does-not-exist') === false);
     $this->assertTrue($queue->choose('beanstalk-test') !== false);
     $queue->put('doSomething');
     $queue->watch('beanstalk-test');
     $job = $queue->peekReady();
     $jobStats = $job->stats();
     $this->assertTrue(is_array($jobStats));
     $this->assertTrue($jobStats['tube'] === 'beanstalk-test');
 }
コード例 #6
0
ファイル: BeanstalkTest.php プロジェクト: UqiOnline/cphalcon7
 public function testReleaseKickBury()
 {
     $queue = new Phalcon\Queue\Beanstalk();
     try {
         @$queue->connect();
     } catch (Exception $e) {
         $this->markTestSkipped($e->getMessage());
         return;
     }
     $this->assertTrue($queue->choose('beanstalk-test') !== false);
     $task = 'doSomething';
     $this->assertTrue($queue->put($task) !== false);
     $this->assertTrue($queue->watch('beanstalk-test') !== false);
     $job = $queue->reserve(0);
     $this->assertTrue($job !== false);
     $this->assertEquals($task, $job->getBody());
     $this->assertTrue($job->touch());
     // Release the job; it moves to the ready queue
     $this->assertTrue($job->release());
     $job = $queue->reserve(0);
     $this->assertTrue($job !== false);
     $this->assertEquals($task, $job->getBody());
     // Bury the job
     $this->assertTrue($job->bury());
     $job = $queue->peekBuried();
     $this->assertTrue($job !== false);
     $this->assertEquals($task, $job->getBody());
     // Kick the job, it should move to the ready queue again
     // kick-job is supported since 1.8
     if (false !== $job->kick()) {
         $job = $queue->peekReady();
         $this->assertTrue($job !== false);
         $this->assertEquals($task, $job->getBody());
     }
     $this->assertTrue($job->delete());
 }
コード例 #7
0
ファイル: redword.php プロジェクト: tianyunchong/php
<?php

/**
 * 处理下部分关键词分词带+的情况
 */
$id = 0;
$beanstalk = new \Phalcon\Queue\Beanstalk(array("host" => "172.17.16.101", "port" => 11300));
$conn = new Table("txonline");
while (1) {
    echo $id;
    echo "\n";
    $mysqlRs = $conn->findAll("select id, keyword, redword from gckeyword.key_proword where id > '{$id}' order by id asc limit 100");
    if (empty($mysqlRs)) {
        exit("所有数据处理完毕!");
    }
    foreach ($mysqlRs as $value) {
        $id = $value["id"];
        if (!strstr($value["redword"], "+")) {
            continue;
        }
        echo $value["keyword"] . "\n";
        echo $value["redword"];
        echo "\n";
        $redword = str_replace("+", "", $value["redword"]);
        $redword = preg_replace("/[\\s]+/is", " ", $redword);
        echo $redword;
        echo "\n";
        $conn->update("update gckeyword.key_proword set redword = '" . $redword . "' where id = '" . $value["id"] . "'");
        try {
            $beanstalk->choose('v3www_prokeyword_cachewrite');
            echo $beanstalk->put($value["keyword"], array('priority' => 1024, 'delay' => 0, 'ttr' => 86400)), "\n";
コード例 #8
0
ファイル: comkeyword.php プロジェクト: tianyunchong/php
<?php

/**
 * 初始化一条企业关键词的beanstalk数据
 */
define("App", "product");
if (App == "dev") {
    $config = array('192.168.8.189', 11300);
} elseif (App == "product") {
    $config = array('172.17.16.101', 11300);
} elseif (App == "test") {
} else {
    exit("未知的环境!");
}
$queue = new \Phalcon\Queue\Beanstalk(array("host" => $config[0], "port" => $config[1]));
try {
    $queue->choose('v3www_comkeyword_init');
    echo $queue->put("机械机床护罩", array('priority' => 1024, 'delay' => 0, 'ttr' => 86400)), "\n";
} catch (\Exception $e) {
}
コード例 #9
0
ファイル: prokeyword.php プロジェクト: tianyunchong/php
<?php

/**
 * 初始化一条产品关键词的beanstalk数据
 */
define("App", "product");
if (App == "dev") {
    $config = array('192.168.8.189', 11300);
} elseif (App == "product") {
    $config = array('172.17.16.101', 11300);
} elseif (App == "test") {
} else {
    exit("未知的环境!");
}
$queue = new \Phalcon\Queue\Beanstalk(array("host" => $config[0], "port" => $config[1]));
try {
    $queue->choose('v3www_prokeyword_rela');
    echo $queue->put(9942738, array('priority' => 1024, 'delay' => 0, 'ttr' => 86400)), "\n";
} catch (\Exception $e) {
}
コード例 #10
0
ファイル: queue-18.php プロジェクト: aodkrisda/phalcon-code
<?php

//Connect to the queue
$queue = new Phalcon\Queue\Beanstalk(array('host' => '192.168.0.21'));
//Insert the job in the queue
$queue->put(array('processVideo' => 4871));
コード例 #11
0
ファイル: Gateway.php プロジェクト: nnikos123/gateway-status
 private function queueNotification()
 {
     $config = DI::getDefault()->getConfig();
     $queue = new Phalcon\Queue\Beanstalk(array('host' => $config->monitor->beanstalkHost, 'port' => $config->monitor->beanstalkPort));
     $queue->put(array('GatewayStatusUpdate' => $this->ID));
 }