Всем привет. Какая библиотека поможет решить такую задачу?
- Приходит запрос на формирование отчета. Клиенту сразу нужно отдать 200 и запомнить параметры, которые он прислал (сервер может перезагрузиться, так что это будет в БД. Сейчас в проекте в сервисах везде постгрес, поэтому ему приоритет.)
- далее эти параметры нужно взять и запустить долгосрочную задачу (например несколько минут). Если задача зафейлилась, то нужно поставить ей статус об этом. Если сервак потух когда задача выполнялась, то при повторном запуске нужно выполнять ее заново.
- задач может быть несколько, нужно выполнять их по очереди
Я так понимаю, мне нужен фоновый поток, который будет подниматься при старте сервера и смотреть на наличие задач в БД. Дальше будет выполнять их по очереди. В реквестах будут приходить еще задачи.
Мне достаточно будет понимать как этот фоновый поток запустить, как это сделать на ноде? Я если что Шарпист, с нодой пока на ВЫ.
По хорошему такую задачу нужно выполнять через очередь, типа кафки, но достаточно будет реализовать поверх постгреса. Создаете пару таблиц в постгресе с зачами, параметрами для них и статусами, а потом в ноде в index.js делаете обычный setInterval и в функции выбираете из базы задачи с нужным вам статусом и делаете с этими задачами все что вам нужно, хоть все сразу выполняете, хоть по очереди, опираясь на параметры, ну в общем я думаю смысл понятен 😊