/**
  * Bulk Enqueues Jobs using DJJob
  *
  * @param Model $Model Model using the behavior
  * @param array $jobs
  * @param string $queue
  * @param string $runAt
  * @return bool True if bulk enqueue is successful, false on failure
  */
 public function bulkEnqueue(Model $Model, $jobs, $queue = "default", $runAt = null)
 {
     return DJJob::bulkEnqueue($jobs, $queue, $runAt);
 }
Ejemplo n.º 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");