Php 如何重试Laravel Horizon中Redis队列中所有失败的作业
如何重试Laravel Horizon中所有失败的作业?似乎没有“重试所有”按钮,artisan命令不起作用,因为失败的作业未存储在表中 因为失败的作业没有存储在表中 实际上,您应该创建该表。从: 您还应创建Laravel将用于 存储任何失败的队列作业:Php 如何重试Laravel Horizon中Redis队列中所有失败的作业,php,laravel,laravel-5,laravel-5.8,laravel-horizon,Php,Laravel,Laravel 5,Laravel 5.8,Laravel Horizon,如何重试Laravel Horizon中所有失败的作业?似乎没有“重试所有”按钮,artisan命令不起作用,因为失败的作业未存储在表中 因为失败的作业没有存储在表中 实际上,您应该创建该表。从: 您还应创建Laravel将用于 存储任何失败的队列作业: php artisan queue:failed-table php artisan migrate 然后,致: 重试失败的作业 查看已插入到系统中的所有失败作业 failed_jobs数据库表,您可以使用队列:failedArtisan
php artisan queue:failed-table
php artisan migrate
然后,致:
重试失败的作业
查看已插入到系统中的所有失败作业
failed_jobs
数据库表,您可以使用队列:failed
Artisan
命令:
php artisan queue:failed
queue:failed
命令将列出作业ID、连接、队列、,
以及故障时间。作业ID可用于重试失败的作业。对于
实例,若要重试ID为5的失败作业,请发出
以下命令:
php artisan queue:failed
php artisan queue:retry 5
queue:retry
命令接受all
代替单个作业ID:
php artisan queue:retry all
这将把所有失败的作业推回到您的redis队列中,以便重试:
The failed job [44] has been pushed back onto the queue!
The failed job [43] has been pushed back onto the queue!
...
如果您没有根据安装指南创建故障日志表,请执行以下操作:
php artisan queue:failed-table
php artisan migrate
那你可能会陷入困境。也许可以尝试手动与redis交互,并尝试直接访问失败作业的列表(假设失败作业条目未被擦除-根据
config/horizon.php
中的配置设置,它们默认在redis中保留一周).在当前情况下,这对我没有帮助,因为我的失败队列在Redis中,而这些作业需要重试。