我从这里研究了有关laravel队列的问题:https://laravel.com/docs/5.6/queues。 我的情况是我的项目没有特别的队列,只有“默认”队列正在运行。现在,我有两个队列:JobA和JobB。我想将JobB的优先级设置为高于JobA。
要将作业附加到我使用过的队列中:
->onQueue('jobA');
->onQueue('jobB');
在.env文件中,我添加了:
QUEUE_DRIVER=sync
在queue.php中,这是代码:
return [
'default' => env('QUEUE_DRIVER', 'sync'),
'connections' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
]
],
'failed' => [
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],
];
进行这些更改之后,我在服务器上运行以下命令:
php artisan queue:work --queue=jobB,jobA
php artisan queue:restart
第一个命令运行指定表(jobs表)中的所有挂起的作业。 但是,现在正在创建新的工作,我将如何知道这些工作是我提到的优先顺序?而且我也检查了数据库表(jobs表),但队列名称仍然是默认名称。
请让我知道我做错了。
谢谢