2017-11-09 8 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:restart 

:

php artisan queue:work --tries=3 

은 또한 당신이 당신의 응용 프로그램 코드를 변경할 때마다, 당신은 당신의 노동자를 다시 시작해야합니다 기억 나는 당신이 노동자를 다시 시작할 관리자를 사용한다고 가정합니다).