Size: a a a

2020 April 30

BI

Bogdan Ivanov in Laravel Pro
та ну
источник

BI

Bogdan Ivanov in Laravel Pro
у меня (может только у меня)
с ларой всегда получается всё модульно и всё в чем зависимость это eloquent, хотя это не огромная проблема
источник

d.

dev . in Laravel Pro
Bogdan Ivanov
у меня (может только у меня)
с ларой всегда получается всё модульно и всё в чем зависимость это eloquent, хотя это не огромная проблема
оно скорее так кажется
источник

AZ

Alexey Zauzin in Laravel Pro
У меня в докер-контейнере на локальной тачке крутится 8 воркеров, которые запускаются вот так:
artisan queue:work --tries=3 --delay=90 --timeout=1200

Насколько я понял, supervisorctl пулит воркеров раз в некоторое [малое] время, и каждый раз при таком пулинге происходит полная загрузка фреймворка, что приводит к практически постоянной загрузке cpu примерно на 25%

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

EG

Egor Gruzdev in Laravel Pro
Alexey Zauzin
У меня в докер-контейнере на локальной тачке крутится 8 воркеров, которые запускаются вот так:
artisan queue:work --tries=3 --delay=90 --timeout=1200

Насколько я понял, supervisorctl пулит воркеров раз в некоторое [малое] время, и каждый раз при таком пулинге происходит полная загрузка фреймворка, что приводит к практически постоянной загрузке cpu примерно на 25%

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

EG

Egor Gruzdev in Laravel Pro
в случае безошибочной работы перезапуска не происходит
источник

RK

Roman Kolosov in Laravel Pro
Alexey Zauzin
У меня в докер-контейнере на локальной тачке крутится 8 воркеров, которые запускаются вот так:
artisan queue:work --tries=3 --delay=90 --timeout=1200

Насколько я понял, supervisorctl пулит воркеров раз в некоторое [малое] время, и каждый раз при таком пулинге происходит полная загрузка фреймворка, что приводит к практически постоянной загрузке cpu примерно на 25%

Есть ли какой-то дешевый выход из ситуации? Меня для дебага устроит, например, пулить раз в 10 секунд, или же мне проще переписать саму реализацию queue:work на кастомную, которая подгружает фреймворк один раз и висит в памяти.
поставь на всякий horizon суть таже, но хоть какая то морда будет для просмотра событий ошибок и тп
источник

RK

Roman Kolosov in Laravel Pro
Alexey Zauzin
У меня в докер-контейнере на локальной тачке крутится 8 воркеров, которые запускаются вот так:
artisan queue:work --tries=3 --delay=90 --timeout=1200

Насколько я понял, supervisorctl пулит воркеров раз в некоторое [малое] время, и каждый раз при таком пулинге происходит полная загрузка фреймворка, что приводит к практически постоянной загрузке cpu примерно на 25%

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

RK

Roman Kolosov in Laravel Pro
если не перестараться) много раз писал, один раз запустил 50 воркеров по 10 процессов, впс вытягивал с рекавери мод только))
источник

AZ

Alexey Zauzin in Laravel Pro
Хм, спасибо, сейчас попробую Horizon. Странно, я почти уверен что очередь пустая, но загруз CPU есть, и он большой для пустой очереди
источник

RK

Roman Kolosov in Laravel Pro
Alexey Zauzin
Хм, спасибо, сейчас попробую Horizon. Странно, я почти уверен что очередь пустая, но загруз CPU есть, и он большой для пустой очереди
очереди в простое вообще не жрут cpu практически, тк тупо моняторят редис
источник

RK

Roman Kolosov in Laravel Pro
ram да а cpu не особо
источник

RK

Roman Kolosov in Laravel Pro
эт если мы говорим про horizon как работает rabbitmq внутри  например, не оч знаю
источник

RK

Roman Kolosov in Laravel Pro
Alexey Zauzin
Хм, спасибо, сейчас попробую Horizon. Странно, я почти уверен что очередь пустая, но загруз CPU есть, и он большой для пустой очереди
а ну и если ставишь horizon обязательно укажи в horizonserviceprovider правила тех кто может видеть эту страницу, а то ктонибудь на проде дорвется до панели и начнет фейл джобы запускать))
источник

EG

Egor Gruzdev in Laravel Pro
Roman Kolosov
эт если мы говорим про horizon как работает rabbitmq внутри  например, не оч знаю
rabitmq скорее всего висит слушатель и ждет своей очереди
источник

RK

Roman Kolosov in Laravel Pro
Egor Gruzdev
rabitmq скорее всего висит слушатель и ждет своей очереди
то что евент листнер висит эт понятно) он всегда висит
источник

EG

Egor Gruzdev in Laravel Pro
Roman Kolosov
то что евент листнер висит эт понятно) он всегда висит
я имею ввиду что в случае c redis это просто цикл (while) с паузой, а worker через rabittmq подключился и ждет команды
источник

RK

Roman Kolosov in Laravel Pro
Egor Gruzdev
я имею ввиду что в случае c redis это просто цикл (while) с паузой, а worker через rabittmq подключился и ждет команды
оно так все работает))
источник

ИЛ

Иван Лещенко... in Laravel Pro
Roman Kolosov
оно так все работает))
Не
источник

RK

Roman Kolosov in Laravel Pro
иначе тупо не возможно
источник