コード例 #1
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());
 }