Разница php artisan queue:work и php artisan queue:listen

Laravel имеет мощную систему очередей, и когда вы используете очереди, вам нужно запускать воркеры. Обычно в production вы используете команду queue:work для их запуска, они считаются долгоживущими процессами и сохраняют загруженное состояние приложения в памяти. Это означает, что после внесения любых изменений в код вам нужно будет перезапустить их, чтобы у них было свежее состояние.

При локальной разработке это может стать проблемой, в том что вы забудете перезапустить воркеры. Поэтому Laravel предоставляет команду queue:listen, предназначенную для локальной работы. Она не загружает состояние приложения в памяти, поэтому вам никогда не придется перезапускать очереди при внесении изменений в код.

Итого

queue:work следует использовать, когда вы хотите, чтобы ваши очереди работали как демон. Это был бы долгоживущий процесс, который был бы полезен, когда производительность является проблемой. Это будет использовать кэшированную версию приложения и не будет перезагружать приложение каждый раз при обработке задания.

queue:listen следует использовать, когда производительность вас не волнует или вы не хотите перезапускать очередь после внесения изменений в код.

Они оба будут извлекать задания из очереди по одному по мере их получения.
Они оба имеют почти одинаковые параметры, которые можно им передать.

Запись опубликована в рубрике Laravel с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий