Laravel 7 -停止处理作业并清除队列

ruarlubt  于 2023-06-07  发布在  其他
关注(0)|答案(2)|浏览(424)

我在AWS上有一个生产系统,并使用Laravel Forge。有一个处理作业的默认队列。
我已经创建了一些作业,现在希望删除它们(因为它们需要很多时间才能完成,我意识到我的输入数据是错误的)。我创建了一个具有良好数据的新作业,但在所有其他作业完成之前不会对其进行处理。

如何删除所有作业?

以前使用redis队列驱动程序设置它。我不知道如何删除作业,所以我将驱动程序切换到database,并重新启动服务器,认为这至少可以让作业停止处理。然而,令我沮丧的是,他们继续被处理:-(
我甚至从forge ui中删除了worker,并重新启动了服务器:工作仍在进行。
为什么要继续处理作业?
我怎么能阻止他们

g2ieeal7

g2ieeal71#

您可以用途:

php artisan queue:clear redis

它将清除redis连接上default队列中的所有作业。如果将作业放入其他队列,则应指定队列名称,例如:

php artisan queue:clear redis --queue=custom_queue_name
lztngnrs

lztngnrs2#

queue:clear只存在于laravel的8x版本,queue:flush命令只删除失败的作业。
php artisan queue:flush返回:
成功删除所有失败的作业!
因此,如果您想删除所有队列作业,请转到数据库表“jobs”并手动删除它们。

相关问题