вот есть бекенд на actix-web, и нужно по команде от юзера запускать долгий рендер через терминал. Хочу еще вывод терминала на фронтенд слать. Как такое правильно организовывать?
А что имеется в виду под “долгим рендером”?
Гоняю GDAL. А что? Это что-то меняет?
Из моего $рабочего опыта, долгие, ресурсно-интенсивные процессы оптимально складывать во внешнюю очередь.
Архитектурно: Вебсервер кладёт задачу в очередь, обработчик постепенно выполняет и уведомляет сервер о выполнении. Из конкретных имплементаций например традиционный в руби sikekiq.
Очередь - типа RabbitMQ?
У sidekiq под капотом redis
Это же в первую очередь решает проблему бэкграунд тредов в руби. Хотя и всякие ухренители тасок тоже не плохи, типа разделения тасок и их зависимостей, повтор не удавшихся и персистентность.
Не, сайдкик зачастую вообще на отдельном сервере крутится.
одно другому не мешает :P с точки зрения архитектуры, особенно каких нибудь микросервисов - это хорошо.
Обсуждают сегодня