reserve() public method

public reserve ( boolean $blocking = false, integer $timeout = null ) : object | boolean
$blocking boolean
$timeout integer
return object | boolean Instance of Resque_Job if a job is found, false if not.
Ejemplo n.º 1
0
 public function testRecreatedJobWithTrackingStillTracksStatus()
 {
     $originalToken = Resque::enqueue('jobs', 'Test_Job', null, true);
     $job = $this->worker->reserve();
     // Mark this job as being worked on to ensure that the new status is still
     // waiting.
     $this->worker->workingOn($job);
     // Now recreate it
     $newToken = $job->recreate();
     // Make sure we've got a new job returned
     $this->assertNotEquals($originalToken, $newToken);
     // Now check the status of the new job
     $newJob = Resque_Job::reserve('jobs');
     $this->assertEquals(Resque_Job_Status::STATUS_WAITING, $newJob->getStatus());
 }
Ejemplo n.º 2
0
 public function testBlockingListPop()
 {
     $worker = new Resque_Worker('jobs');
     $worker->setLogger(new Resque_Log());
     $worker->registerWorker();
     Resque::enqueue('jobs', 'Test_Job_1');
     Resque::enqueue('jobs', 'Test_Job_2');
     $i = 1;
     while ($job = $worker->reserve(true, 1)) {
         $this->assertEquals('Test_Job_' . $i, $job->payload['class']);
         if ($i == 2) {
             break;
         }
         $i++;
     }
     $this->assertEquals(2, $i);
 }
Ejemplo n.º 3
0
 public function testWorkerClearsItsStatusWhenNotWorking()
 {
     Resque::enqueue('jobs', 'Test_Job');
     $worker = new Resque_Worker('jobs');
     $job = $worker->reserve();
     $worker->workingOn($job);
     $worker->doneWorking();
     $this->assertEquals(array(), $worker->job());
 }