Size: a a a

2021 May 27

AK

Anton K. in symfony
почему? поднимаем пхп процесс, он может запускать подпроцессы и трекать их выполнение. в ассоциативном массиве храним pid и статус выполнения.
клиентская часть может запрашивать у этого процесса статус выполнения определенной задачи
источник

AK

Anton K. in symfony
apcu не подойдет, так как воркеры могут работать на разных машинах
источник

D

Dmitry in symfony
удачи вам, вы занимаетесь оверенджениригом
источник

D

Dmitry in symfony
вам нужно создать задачу - закинуть ее в очередь (кролик, редис), консьюмеры заберут задачу, выполнят, статус запишут куда вам там нужно. все
источник

D

Dmitry in symfony
да пусть работают, хранилище статусов держите на одной, если позволяют требования и не нужна распределенность
источник

D

Dmitry in symfony
на симфони это делается в пару строк кода с мессенджером
1. создать событие
2. написать обработчик этого самого события
3. запустить консьюмеры на нужном количестве машин

все
источник

в

вαғғσмεттι in symfony
согласен с Дмитрием
источник

AK

Anton K. in symfony
сейчас у меня есть уже такая очередь на кролике
проблема в том, что там выполняются какие-то большие задачи, например генерация отчетов
если в эту же очередь писать еще и такие "сервисные" задачи, то есть риск, что какой-то клиент будет ждать загрузки своего файла на большой сервер, пока кто-то генерирует свой отчет
источник

AK

Anton K. in symfony
поэтому и думал про какую-то локальную мини очередь на задачи, которые выполняются плюс минус 30 секунд
источник

SP

Sergey Protko in symfony
не скейлится, че делать с деплоями, нахуй так сложно - хоть в рэдис пиши или в файлик
источник

ПГ

Павел Г. in symfony
Другую очредь поднять паралельную
источник

SP

Sergey Protko in symfony
раздели очереди по приоритетам
источник

AK

Anton K. in symfony
routing key я смогу это сделать? в кролике
источник

✨Basic_Instinct✨ in symfony
а процессы не подойдут?
источник

D

Dmitry in symfony
сделайте отдельный транспорт в крайнем уж случае где будет - short_tasks_exchange и натравите 100 консьюмеров на эту очередь
источник

SP

Sergey Protko in symfony
да, сможешь. У меня это так сделано:
источник

D

Dmitry in symfony
если вам нужны прям уж точечная подстройка кролика - old_sound_rabbitmq бандл порыскайте
источник

AK

Anton K. in symfony
он у меня есть
источник

AK

Anton K. in symfony
у вас old sound rabbitmq bundle?
источник

D

Dmitry in symfony
дело в архитектуре, а не в инструменте
источник