gpt4 book ai didi

laravel - 如何删除所有排队的作业,因为它会导致错误?

转载 作者:行者123 更新时间:2023-12-01 10:26:36 24 4
gpt4 key购买 nike

我的网站排队将电子邮件发送到 jobs table 。我认为电子邮件服务器有一些问题,它无法发送电子邮件,因此作业卡在作业表中。现在可能有太多作业,我收到此错误消息:

Next exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'attempts' at row 1 (SQL: update `jobs` set `reserved_at` = 1510263884, `attempts` = 256 where `id` = 342)' in /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647
#0 /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('update `jobs` s...', Array, Object(Closure))
#1 /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php(477): Illuminate\Database\Connection->run('update `jobs` s...', Array, Object(Closure))
#2 /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\Database\Connection->affectingStatement('update `jobs` s...', Array)

所以我想知道如何刷新所有排队的作业以清除表格?我无法访问数据库以删除表中的数据,那么是否有任何命令行可以这样做?我没有失败的队列表。

最佳答案

假设您正在使用数据库驱动程序,您可以使用:

DB::table('jobs')->delete();

删除所有作业。

另一件事是您应该始终运行带有尝试设置的队列工作器:
php artisan queue:work --tries=3

还要记住,无论何时更改应用程序代码,都应该重新启动工作程序:
php artisan queue:restart

(我假设您使用将再次启动 worker 的主管)。

关于laravel - 如何删除所有排队的作业,因为它会导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47212165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com