mirror of
https://github.com/idanoo/laravel-resque.git
synced 2024-11-24 17:35:19 +00:00
allow queue to be prefixed
This commit is contained in:
parent
0663765b47
commit
8d6ebce6b9
@ -21,6 +21,7 @@ return [
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
'queuePrefix' => env('RESQUE_QUEUE_PREFIX', null),
|
||||||
'trackStatus' => env('RESQUE_TRACK_STATUS', false),
|
'trackStatus' => env('RESQUE_TRACK_STATUS', false),
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace Hlgrrnhrdt\Resque;
|
namespace Hlgrrnhrdt\Resque;
|
||||||
|
|
||||||
use Resque;
|
use Resque;
|
||||||
use Resque_Worker;
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,6 +16,11 @@ class ResqueManager
|
|||||||
*/
|
*/
|
||||||
protected $resque;
|
protected $resque;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $queuePrefix;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
@ -26,12 +30,14 @@ class ResqueManager
|
|||||||
* ResqueManager constructor.
|
* ResqueManager constructor.
|
||||||
*
|
*
|
||||||
* @param \Resque $resque
|
* @param \Resque $resque
|
||||||
|
* @param string $queuePrefix
|
||||||
* @param bool $trackStatus
|
* @param bool $trackStatus
|
||||||
*/
|
*/
|
||||||
public function __construct(Resque $resque, $trackStatus = false)
|
public function __construct(Resque $resque, $queuePrefix, $trackStatus = false)
|
||||||
{
|
{
|
||||||
$this->resque = $resque;
|
$this->resque = $resque;
|
||||||
$this->trackStatus = $trackStatus;
|
$this->trackStatus = $trackStatus;
|
||||||
|
$this->queuePrefix = $queuePrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,7 +48,7 @@ class ResqueManager
|
|||||||
*/
|
*/
|
||||||
public function enqueue(Job $job, $trackStatus = false)
|
public function enqueue(Job $job, $trackStatus = false)
|
||||||
{
|
{
|
||||||
$id = $this->resque->enqueue($job->queue(), get_class($job), $job->arguments(), $trackStatus);
|
$id = $this->resque->enqueue($this->getQueueName($job), get_class($job), $job->arguments(), $trackStatus);
|
||||||
|
|
||||||
if (true === $trackStatus) {
|
if (true === $trackStatus) {
|
||||||
return new \Resque_Job_Status($id);
|
return new \Resque_Job_Status($id);
|
||||||
@ -108,4 +114,14 @@ class ResqueManager
|
|||||||
return $queuedJob->payload['class'] === get_class($queuedJob)
|
return $queuedJob->payload['class'] === get_class($queuedJob)
|
||||||
&& count(array_intersect($queuedJob->getArguments(), $job->arguments())) === count($job->arguments());
|
&& count(array_intersect($queuedJob->getArguments(), $job->arguments())) === count($job->arguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getQueueName(Job $job)
|
||||||
|
{
|
||||||
|
$queue = $job->queue();
|
||||||
|
if ($this->queuePrefix) {
|
||||||
|
$queue = implode(':', [$this->queuePrefix, $queue]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $queue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user