Когда я динамически создаю синхронизированную задачу с Django_apscheduler, одна и та же задача будет выполняться несколько раз, временно определяя причину запуска нескольких процессов uwsgi, каждый процесс установил планировщик, и несколько планировщиков одновременно выполняют одну и ту же синхронизированную задачу. Как решить эту проблему
Я пытался использовать поля базы данных в качестве блокировок и блокировок строк базы данных при запросах и изменении полей, но запросы были настолько частыми, что возникло исключение.
with transaction.atomic():
iLockStep = Timed_Task.objects.select_for_update().get(id=aTimeTask.id).lock_step
if (iLockStep != 0):
return
aTimeTask.state = GOING
aTimeTask.lock_step = 1
aTimeTask.save()