Задать вопрос
@DefaultX

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

Есть функция в воркере которая делает запрос к бд, и обновляет в ней значение для того что бы остальные воркеры не выбрали тот же документ в бд. Но получается так что остальные воркеры выбирают тот же документ что и первый воркер. Как можно сделать так что бы каждый воркер выбрал свой документ который не используется предыдущим. Примерная картина как сейчас все выполняется показана на схеме. Подскажите пожалуйста как правильнее будет это сделать.
8384b36d77695e985fde9898f642f727.png
  • Вопрос задан
  • 113 просмотров
Подписаться 3 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Merion Academy
    MongoDB для разработчиков и DevOps
    4 месяца
    Далее
  • Skillbox
    Курс Java-разработчик
    4 месяца
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
Решения вопроса 1
@DefaultX Автор вопроса
await Model.findOneAndUpdate({ inUse: false }, { inUse: true });


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

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

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