Laravel 如何删除所有排队作业,因为它';什么导致了错误?

Laravel 如何删除所有排队作业,因为它';什么导致了错误?,laravel,laravel-5,laravel-queue,Laravel,Laravel 5,Laravel Queue,我的网站将发送作业的电子邮件排入作业表。我认为电子邮件服务器有一些问题,它无法发送电子邮件,因此作业被卡在作业表上。现在可能作业太多,我收到以下错误消息: 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:

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

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
(我假设您使用的主管将再次启动工人)。

您可以使用

php工匠修补匠

然后

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


这工作

如果我可以直接访问数据库(通过phpmyadmin),我可以简单地
delete*from jobs
?@bondyStegreat是的,这应该不会有任何问题。但以防万一,你可以重新启动queue@MarcinNabiałek,
php artisan队列:重新启动
工作,即使队列由主管处理?