Lets say we are using redis queues
In queue.php we need to define queues for example :
'default' => 'redis-low',
'connections' => [
'redis-high' => [
'driver' => 'redis',
'queue' => 'redis-high',
],
'redis-medium' => [
'driver' => 'redis',
'queue' => 'redis-medium',
],
'redis-low' => [
'driver' => 'redis',
'queue' => 'redis-low',
],
],
'failed' => [
'database' => 'mysql', 'table' => 'failed_jobs',
]
Now whenever you push a queue as in :
Queue::push("-----");
It will be automatically pushed to the default queue you have chosen in the queue.php file In the configuration above "redis-low" is the default queue
If you want to push to a particular queue you can use
Queue::pushOn('queue name', Queue job);
For example:
Queue::pushOn('redis-high', new SendEmail($message));
Queue::pushOn('redis-low', '\App\Services\Queues\QueueService', $dataArray);
We tell the queue execution order to the server:
we can do this by using the "--queue" option
For example
php artisan queue:listen --queue=redis-high,redis-medium,redis-low
Thats all Cheers enjoy
mrigank237 said:
Lets say we are using redis queues
In queue.php we need to define queues for example :
'default' => 'redis-low', 'connections' => [ 'redis-high' => [ 'driver' => 'redis', 'queue' => 'redis-high', ], 'redis-medium' => [ 'driver' => 'redis', 'queue' => 'redis-medium', ], 'redis-low' => [ 'driver' => 'redis', 'queue' => 'redis-low', ], ], 'failed' => [ 'database' => 'mysql', 'table' => 'failed_jobs', ]
Now whenever you push a queue as in :
Queue::push("-----");
It will be automatically pushed to the default queue you have chosen in the queue.php file In the configuration above "redis-low" is the default queue
If you want to push to a particular queue you can use
Queue::pushOn('queue name', Queue job);
For example:
Queue::pushOn('redis-high', new SendEmail($message)); Queue::pushOn('redis-low', '\App\Services\Queues\QueueService', $dataArray);
We tell the queue execution order to the server:
we can do this by using the "--queue" option
For example
php artisan queue:listen --queue=redis-high,redis-medium,redis-low
Thats all Cheers enjoy
Thanks for your reply. But i was looking for something through which i can priorities my job rather than the queues. Anyways.Can you explain me how the jobs in each of these queue will be executed. Let say redis-high have 5 jobs in it. and redis-medium have 3 jobs, redis-low has 2 jobs. So when the execution starts will it will finish the redis-high 5 jobs and then redis-medium 3 jobs and so on ...or is it something different.How exactly it is?
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community