2017-11-09 7 views
0

私のウェブサイトは、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) 

は、だから私はどのように私はテーブルをクリアするために、すべてのキューに入れられたジョブをフラッシュしない疑問に思ってましたか?私はテーブルのデータを削除するためにデータベースにアクセスすることはできませんので、そうするコマンドラインはありますか?私は失敗したキューテーブルを持っていません。すべてのジョブを削除するには

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

:あなたはあなたが使用できるデータベースドライバを使用していると仮定すると、

答えて

2

他の事はあなたが常にセットしようとキューワーカーを実行しなければならないことである。

php artisan queue:work --tries=3 

はまた、あなたがあなたのアプリケーションのコードを変更するたび、あなたはあなたの労働者を再起動する必要があることを覚えておいてください:

php artisan queue:restart 

(私はあなたが再び労働者を始める監督を使用すると仮定します)。

関連する問題