Для понимания: в норме у нас работает 12 реплик сайдкика по 5 потоков
да, это с большим запасом, чтобы пережёвывать всплески нагрузки
Но каким-то магическим образом 10 штук при апдейте потерялось, и осталось всего 10 рабочих потоков
Top-level
Для понимания: в норме у нас работает 12 реплик сайдкика по 5 потоков Но каким-то магическим образом 10 штук при апдейте потерялось, и осталось всего 10 рабочих потоков 17 comments
@cyrmax в него кидаешь фоновые задачи, а он пачкой воркеров их выполняет. При этом ещё гарантируя, что каждая задача выполнится как минимум один раз Проблема в том, что у мастодона он течёт по памяти и диску... (по какой-то причине не удалялись временные файлы) @mo Мне просто как бы делать бы бэкэнд для распознавания речи для одного проекта. И там как раз пнуть бы чтобы работало, а результат сложить в БД, чтобы клиент потом по апи забрал когда ему надо будет. @cyrmax ну для питона уже упомянули Celery. Который умеет не только возвращать результат, но и исполнять таски в соответствии с графом зависимостей их друг от друга Для голанга не знаю, но что-то точно должно быть...в крайнем случае это легко навелосипедить с помощью Redis, делала, знаю :) @cyrmax причем для голанга это даже не обязательно должен быть отдельный воркер. У него нет проблем ни с асинхронностью, ни с многопоточкой, и воркеры-горутины можно запускать прямо из основного процесса. Что я и делала на Rust+Tokio @cyrmax ...чет внезапно поняла, что зная редис я могу очень легко построить свой сайдкик, лол. Такая простая штука... @mo @cyrmax если у тебя гарантия "задача запускается как минимум один раз, но можно и больше", то это не слишком обязательно @cyrmax в редисе хранить какую задачу вызвать, и аргументы. А дальше пользоваться тем, что операции в редисе атомарны @cyrmax но я бы сначала посмотрела на готовые решения, они скорее всего есть. Делать задачи в фоне потребность довольно частая... |
А нет, вру, 11 реплик по 10 потоков, и ещё один с пятью для запланированных задач