Jos*_*ung 2 laravel laravel-5 laravel-queue
我的网站将发送作业的电子邮件排队到jobs表中。我认为电子邮件服务器存在一些问题,它无法发送电子邮件,因此作业被卡在作业表中。现在也许有太多的工作,并且我收到此错误消息:
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)
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何刷新所有排队的作业以清除表?我无法访问数据库以删除表中的数据,因此有命令行吗?我没有失败的队列表。
假设您正在使用数据库驱动程序,则可以使用:
DB::table('jobs')->delete();
Run Code Online (Sandbox Code Playgroud)
删除所有作业。
另一件事是,您应始终在设置尝试次数的情况下运行队列工作器:
php artisan queue:work --tries=3
Run Code Online (Sandbox Code Playgroud)
还请记住,每当更改应用程序代码时,都应重新启动工作程序:
php artisan queue:restart
Run Code Online (Sandbox Code Playgroud)
(我假设您使用主管,它将再次启动工作人员)。
| 归档时间: |
|
| 查看次数: |
4765 次 |
| 最近记录: |