add beforeEnqueue hook that allows the enqueue to be cancelled

This commit is contained in:
Chris Boulton 2014-09-18 23:20:04 +10:00
parent c335bc3555
commit a95c24b32e
5 changed files with 106 additions and 29 deletions

View file

@ -50,14 +50,17 @@ class Resque_Job
*
* @return string
*/
public static function create($queue, $class, $args = null, $monitor = false)
public static function create($queue, $class, $args = null, $monitor = false, $id = null)
{
if (is_null($id)) {
$id = Resque::generateJobId();
}
if($args !== null && !is_array($args)) {
throw new InvalidArgumentException(
'Supplied $args must be an array.'
);
}
$id = md5(uniqid('', true));
Resque::push($queue, array(
'class' => $class,
'args' => array($args),

View file

@ -0,0 +1,12 @@
<?php
/**
* Exception to be thrown if while enqueuing a job it should not be created.
*
* @package Resque/Job
* @author Chris Boulton <chris@bigcommerce.com>
* @license http://www.opensource.org/licenses/mit-license.php
*/
class Resque_Job_DontCreate extends Exception
{
}