在我的 .env 文件中:
QUEUE_CONNECTION=database
在 config / queue.php
'connections' => [
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
'arbitrage' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'arbitrage',
'retry_after' => 90,
],
'notifications' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'notifications',
'retry_after' => 90,
],
],
然后,当我运行ProcessArbitrage::dispatch();
时,它可以工作。如果我运行ProcessArbitrage::dispatch()->onQueue('arbitrage');
不会处理。
我正在本地运行,并且php artisan queue:listen
处于活动状态。我也尝试过cache:clear
和config:clear
,但是没有运气。当我简单地删除onQueue('arbitrage')
作业过程时,如果我没有添加它,那么我猜队列设置有问题,但似乎找不到它。没有错误消息。
答案 0 :(得分:0)
1分钟前询问...我需要运行php artisan queue:listen --queue=arbitrage,notifications
。我虽然仅在您要确定队列的优先级时才需要这样做,但是从文档中我并不清楚这是您需要运行以便使其处理自定义队列的情况。