Skip to content

Commit bfbff5e

Browse files
committed
Unit tests pass
1 parent f379d3a commit bfbff5e

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

lib/Resque.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,17 @@ public static function blpop(array $queues, $timeout)
146146
return;
147147
}
148148

149-
return json_decode($item[1], true);
149+
/**
150+
* Normally the Resque_Redis class returns queue names without the prefix
151+
* But the blpop is a bit different. It returns the name as prefix:queue:name
152+
* So we need to strip off the prefix:queue: part
153+
*/
154+
$queue = substr($item[0], strlen(self::redis()->getPrefix() . 'queue:'));
155+
156+
return array(
157+
'queue' => $queue,
158+
'payload' => json_decode($item[1], true)
159+
);
150160
}
151161

152162
/**

lib/Resque/Job.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,13 @@ public static function reserve($queue)
100100
*/
101101
public static function reserveBlocking(array $queues, $timeout = null)
102102
{
103-
$payload = Resque::blpop($queues, $timeout);
104-
if(!is_array($payload)) {
103+
$item = Resque::blpop($queues, $timeout);
104+
105+
if(!is_array($item)) {
105106
return false;
106107
}
107108

108-
return new Resque_Job($payload->queue, $payload);
109+
return new Resque_Job($item['queue'], $item['payload']);
109110
}
110111

111112
/**

0 commit comments

Comments
 (0)