2016-08-11 2 views
0

Laravel 대기열 작업자가 DB 서버 충돌로 인해 많은 오류 로그 항목을 생성하고 있었고, Laravel의 로그는 두 시간 만에 150GB로 증가하여 전체 하드 드라이브를 채우고 여러 웹 응용 프로그램이 작동하지 않게되었습니다.Laravel Queue Worker가 실행되는 이유를 어떻게 알 수 있습니까?

실제로 우리 시스템에는 이메일을 보내기위한 대기열 작업자 만 있으며, 지난 날에는 이메일이 전송되지 않았습니다. 그렇다면 큐 작업자가 계속 실행되는 이유는 무엇입니까?

대기열 작업자가 Laravel 시스템에서 DB를 "수동으로"시작하는 것 외에도 (즉, 메일을 보내는 명령으로) DB에 액세스하는 다른 이유가 있습니까?

현재 Laravel 5.1을 사용하고 있습니다.

+0

드라이버가'sync'로 설정되어 있지 않으면 요청시 Laravel 큐가 시작되지 않습니다. 주기적으로'queue'를 실행하는 cron을 가지고있을 것이고 아마도'--tries' 한계가 없을 것입니다. –

+0

백그라운드에서 수퍼바이저를 운영합니까? –

답변

0

먼저 Laravel 작업자는 DB를 사용하여 작업 세부 정보를 저장합니다.

그리고, 당신이 작업을 사용하여 시도해야하는 최대 횟수 표시해야합니다 : 어떤 작업이 실패 대기중인 경우 공급자가 처리 할 수 ​​

php artisan queue:listen connection-name --tries=3

다음 설정을.

주 질문에 supervisor을 설치해야 작업자를 관리 할 수있는 UI를 가질 수 있습니다.

관련 문제