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()); }