/**
  * Execution method always used for tasks
  *
  * @return void
  */
 public function execute()
 {
     Configure::write('debug', $this->params['debug']);
     if (empty($this->params['queue'])) {
         $this->cakeError('error', array(array('code' => '', 'name' => '', 'message' => 'No queue set')));
     }
     $worker = new DJWorker(array("queue" => $this->params['queue'], "count" => $this->params['count'], "sleep" => $this->params['sleep'], "max_attempts" => $this->params['max']));
     $worker->start();
 }
示例#2
0
        echo "Hello {$this->name}!\n";
        sleep(1);
    }
}
class FailingJob
{
    public function perform()
    {
        sleep(1);
        throw new Exception("Uh oh");
    }
}
$status = DJJob::status();
assert('$status["outstanding"] == 0', "Initial outstanding status is incorrect");
assert('$status["locked"] == 0', "Initial locked status is incorrect");
assert('$status["failed"] == 0', "Initial failed status is incorrect");
assert('$status["total"] == 0', "Initial total status is incorrect");
printf("=====================\nStarting run of DJJob\n=====================\n\n");
DJJob::enqueue(new HelloWorldJob("delayed_job"));
DJJob::bulkEnqueue(array(new HelloWorldJob("shopify"), new HelloWorldJob("github")));
DJJob::enqueue(new FailingJob());
// Test unicode support using the classic, rails snowman: http://www.fileformat.info/info/unicode/char/2603/browsertest.htm
DJJob::enqueue(new HelloWorldJob(html_entity_decode("☃", ENT_HTML5, "UTF-8")));
$worker = new DJWorker(array("count" => 5, "max_attempts" => 2, "sleep" => 10));
$worker->start();
printf("\n============\nRun complete\n============\n\n");
$status = DJJob::status();
assert('$status["outstanding"] == 0', "Final outstanding status is incorrect");
assert('$status["locked"] == 0', "Final locked status is incorrect");
assert('$status["failed"] == 1', "Final failed status is incorrect");
assert('$status["total"] == 1', "Final total status is incorrect");