1. config 폴더의 대기열에 있는 구성을 다음과 같이 수정합니다. 으아악
2. 대기열 테이블 만들기
php artisan 대기열:table3. 대기열 작업 클래스 만들기php artisan migration
php artisan make:job CollectionBook4. 작업을 대기열로 푸시하세요
으아악
5. 백그라운드 모니터링
php artisan queue:work --queue=collectionbook --daemon --sleep=3 --tries=3푸시 작업 실행 페이지
대기열이 동기적으로 실행되고 대기열 작업 테이블에 기록되지 않는 것을 발견했습니다. 이 문제를 해결하는 방법은 무엇입니까?
php artisan queue:work --queue=collectionbook --daemon --sleep=3 --tries=3데이터베이스의 대기열 작업이 소비됩니다
이 때 ps artisan을 확인하면 다음과 같은 프로세스를 볼 수 있습니다.
root 2287 2144 9 18:30 pts/0 00:00:02 php artisan queue:work --queue=collectionbook --daemon --sleep=3 --tries=3그런데 SSH 클라이언트 연결을 끊으니 프로세스가 사라진 걸 발견했어요
이때 Supervisor를 이용해서 프로세스를 모니터링했어요
으아악
결과는 모니터링
laravel-worker-collectionbook 실행 중 pid 2271, 가동 시간 0:00:02ps artisan은 이 과정을 다음과 같이 볼 것입니다:
root 2300 2144 9 18:30 pts/0 00:00:02 php /home/wwwroot/kshuba/artisan 대기열:work --queue=collectionbook --daemon --sleep=3 --tries=3문제는 쿼리 데이터베이스의 큐 작업이 소비되지 않았다는 것입니다
게다가 서버의 루트 디렉터리에서 실행되는 경우
php /home/wwwroot/kshuba/artisan 대기열:작업 --queue=collectionbook --daemon --sleep=3 --tries=3대기열 작업도 사용할 수 없습니다.
감독자의 명령을 다음과 같이 변경해 보세요.
php artisan queue:work --queue=collectionbook --sleep=3 --tries=3 --daemon감독자> 상태가 다음과 같은 메시지를 표시하는 것으로 나타났습니다. BACKOFF가 너무 빨리 종료되었습니다(프로세스 로그에 세부 정보가 있을 수 있음)
모니터링을 시작할 수 없습니다. 해결 방법은 무엇입니까?