Skip to content

Commit 3798fa3

Browse files
committed
Added enqueue failure detection
If a job fails to be enqueued, it would be useful to know it. So now Resque actually tells us whether the enqueue action was successful or if it failed. If your job ID comes back as FALSE, it didn't enqueue. Signed-off-by: Daniel Hunsaker <[email protected]>
1 parent 1310b06 commit 3798fa3

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

lib/Resque.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ public static function fork()
9898
public static function push($queue, $item)
9999
{
100100
self::redis()->sadd('queues', $queue);
101-
self::redis()->rpush('queue:' . $queue, json_encode($item));
101+
if (self::redis()->rpush('queue:' . $queue, json_encode($item)) < 1)
102+
{
103+
return FALSE;
104+
}
105+
return TRUE;
102106
}
103107

104108
/**

lib/Resque/Job.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,14 @@ public static function create($queue, $class, $args = null, $monitor = false)
5858
);
5959
}
6060
$id = md5(uniqid('', true));
61-
Resque::push($queue, array(
61+
if ( ! Resque::push($queue, array(
6262
'class' => $class,
6363
'args' => array($args),
6464
'id' => $id,
65-
));
65+
)))
66+
{
67+
return FALSE;
68+
}
6669

6770
if($monitor) {
6871
Resque_Job_Status::create($id);

0 commit comments

Comments
 (0)