Я пытаюсь использовать Redis, но я немного запутался ... У нас есть сервер nodeJS и MongoDB, которые обрабатывают заказы, каждый заказ должен проверять API внешних провайдеров, чтобы узнать состояние этого последнего, может быть отложено, отменено или завершено. Этот процесс может занять некоторое время и должен выполняться в фоновом режиме.
Согласно Redis Bull
Задание можно добавлять в очередь и обрабатывать повторно. в соответствии со спецификацией cron
Я думал о решении, где я создаю заказ Redis ha sh, чтобы я мог получить все заказы по идентификатору ha sh. Пример: order: 1, order: 2 ... (срок действия ордера истекает через 60 минут).
Вероятно, я могу преобразовать JSON ордер в строку и добавить в очередь ордеров Redis. Проблема в том, что мне нужно получить все ордера с идентификатором за один раз (поскольку у нас истекает время, мы должны обрабатывать все одновременно) и отправить его в API запроса в зависимости от состояния каждого заказа, которое может быть обновлено быстрее, чем другие, поэтому очередь не может быть лучшей в этом сценарии.
Или что, если il oop весь мой заказ заказов ha sh: 1, order: 2 ... И я добавляю его в запрос (только если ожидающий ответ истина), когда ответ в порядке, я обновляю ha sh и могу добавить его в полную очередь. Используя потоки, когда заказ истекает, я могу уведомить MongoDB и отменить обновление до true.
Так что, как вы видите, я немного запутался в том, какую стратегию я могу принять ...