Laavel 5 의 Queues 의 listen 과 work-daemon 비교

1917 단어 PHPLaravel
Laavel5의 Quees는 메시지 대기열을 추상화하는 전단이고 후단은 Redis, Amazon SQS, Iron MQ 등을 사용할 수 있다.
간단한 비동기 작업을 하는 것이 매우 편리할 것 같다.
문서에서 사용할 때 대기열에push를 하는 응용 프로그램과 비동기 처리를 하는 작업자 측을 설명합니다.
http://laravel.com/docs/5.0/queues#running-the-queue-listener
기본적으로 queue:listen입니다.
Laravel includes an Artisan task that will run new jobs as they are pushed onto the queue. You may run this task using the queue:listen command:
php artisan queue:listen
또 하나는queue:work-daemon입니다.
The queue:work also includes a --daemon option for forcing the queue worker to continue processing jobs without ever re-booting the framework. This results in a significant reduction of CPU usage when compared to the queue:listen command, but at the added complexity of needing to drain the queues of currently executing jobs during your deployments.
php artisan queue:work --daemon
"work-daemon은 CPU를 사용하지 않습니다. 하지만drain (대기열에서 디버깅 중인 작업을 꺼내시겠습니까?)하고 싶지 않아요."
설명 받아서 해봤어요.

컨디션


MBP에서
CPU 1 코어, 메모리 2GB

확인


queue:listen의 상황


queue:listen은 추가 작업 후 작업 흐름을 시작하여 처리합니다.

직원은 다음 옵션을 통해 수행합니다.
php artisan queue:work

queue:work-daemon의 상황



데몬에서 시작한 작업자가 작업을 계속합니다.

총결산


queue:listen은 매번 CPU를 먹으러 프로그램을 시작합니다
워크-daemon은 하나의 과정이기 때문에 CPU를 먹지 않는 것은 모두에게 익숙한 모델이다.
병렬 이동 가능 여부 등은 문서에 기재되지 않았으니 다시 시도해 보자.

좋은 웹페이지 즐겨찾기