我在项目中使用laravel 5.6,我需要一个队列作业。我决定使用Amazon Sqs,并成功将应用程序与AWS连接。我使用命令创建队列作业文件:
php artisan make:job MakeAmazingJob
之后,laravel生成一个Jobs文件夹和MakeAmazingJob文件。之后,使用命令:
php artisan queue:listen
我开始工作,并且工作顺利。然后,我删除此MakeAmazingJob文件并使用以下命令生成新的作业文件:
php artisan make:job MakeMoreAmazingJob
然后我想开始我的新工作,并从命令开始:
php artisan queue:liste
在终端输出为:
[2020-03-20 12:33:54][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:55][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processing: App\Jobs\MakeMoreAmazingJob
[2020-03-20 12:33:55][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processed: App\Jobs\MakeMoreAmazingJob
[2020-03-20 12:33:55][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:56][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:56][1b66ac1a-7071-4878-a565-d4a3895bc243] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:57][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:57][1b66ac1a-7071-4878-a565-d4a3895bc243] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:58][382e78ad-ed37-4e08-8f02-a292ebf29cbd] Processing: App\Jobs\MakeAmazingJob
[2020-03-20 12:33:58][1b66ac1a-7071-4878-a565-d4a3895bc243] Processing: App\Jobs\MakeAmazingJob
无限..
在此输出之后,我用谷歌搜索,因为我除外并且应该是laravel不应尝试删除已处理的工作,而我找到了一种解决方案,它是使用以下命令:
sudo php artisan queue:restart
在我再次开始我的工作后,我尝试并使用了此命令,结果仍然相同。 Laravel正在尝试无限处理删除工作。那么,如何杀死已删除的队列作业?
谢谢!