@receiver(post_save, sender=MyRequestLog)
def steptwo_launcher(sender, instance, **kwargs):
GeneralLogging(calledBy='MyRequestLog', logmsg='enter steptwo_launcher').save() # remember to remove this line
if instance.stepCode == 100:
GeneralLogging(calledBy='MyRequestLog', logmsg='step code 100 found. launch next step').save()
nextStep.delay(instance.requestId,False)
Я думаю, я просто стал свидетелем того, как мой код потерял условие гонки.Серверная часть моего приложения обновляет статус задачи 1 и записывает в журнал пошаговый код 100, когда должна быть запущена следующая задача.Внешний интерфейс приложения опрашивает, чтобы сообщить о текущем шаге конечному пользователю.
Похоже, что после того, как бэкэнд создал запись с stepCode 100, фронтальный запрос поступил так скоро после этого, что экземпляр if.stepCode == 100: никогда не было установлено, что это правда.GeneralLogging сообщает только об одной записи во время предполагаемого столкновения и не запускает шаг nextstep.
Мой вопрос 1) Подтвердите, что это возможно, что я уже подозреваю.и 2) способ исправить это, чтобы nextStep не пропускался из-за состояния гонки.