как одновременно обновить один документ mongoDB несколькими потоками django - PullRequest
0 голосов
/ 16 июня 2020

Итак, у меня есть коллекция MongoDB, а именно cloud_quota, в которой есть документ по каждому проекту с соответствующими значениями облачной квоты, например, сколько экземпляров используется в настоящее время, объем используемого диска для хранения и т. Д. c.
Теперь есть API, который вычитает значение instance_usage на основе значения, запрошенного для проекта. и этот API размещен на Django. В какой-то момент несколько других сервисов могут обратиться к этому API и запросить обновление значения instance_usage того же проекта. поскольку Django работает в потоках, есть вероятность, что 2 или несколько потоков (вызовы API) пытаются обновить instance_usage одновременно, и есть вероятность грязной записи или потери обновления. Что можно сделать, чтобы избежать этой проблемы? Я хочу избавиться от грязного чтения и грязной записи.

...