@DefaultX

Как получить актуальное значение из MongoDB, при запросе с нескольких воркеров?

Есть функция в воркере которая делает запрос к бд, и обновляет в ней значение для того что бы остальные воркеры не выбрали тот же документ в бд. Но получается так что остальные воркеры выбирают тот же документ что и первый воркер. Как можно сделать так что бы каждый воркер выбрал свой документ который не используется предыдущим. Примерная картина как сейчас все выполняется показана на схеме. Подскажите пожалуйста как правильнее будет это сделать.
8384b36d77695e985fde9898f642f727.png
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
@DefaultX Автор вопроса
await Model.findOneAndUpdate({ inUse: false }, { inUse: true });


Проблема решена.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вынести работу с монгой в отдельный сервис с апи и контролировать конкурентность в этом сервисе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы