Триггер django rest framework зацикливается при задержке сети
1: Я работаю с django rest framework в качестве backend и angular в качестве frontend. Я использую сигналы и приемник django во многих местах моего проекта. в методе pre_save или post_save я сталкиваюсь с общей проблемой. Проблема заключается в том, что в случае сетевой задержки запрашиваемые сигналы выполняются более одного раза. Например, я отправляю уведомление по электронной почте любому клиенту, используя сигнал следующим образом.
pre_save.connect(send_new_coupon_notification_email, sender = coupon)
если из-за задержки отправки электронной почты по сети ответ приходит с задержкой, в таблице coupan будет создано несколько записей. Если ответ приходит быстро, в этом случае все работает нормально.
2: у нас есть две модели на двух серверах, после создания купона на pre_save или post_save мне нужно создать еще одну запись, скажем, в модели бенефициара. как я указываю в этих двух моделях. если бенефициар возвращает подтверждение быстро, то все работает нормально. но опять же в случае сетевой задержки Coupan создает несколько записей.
2.class Beneficiary(models.Model):
name = models.CharField(max_length=50)
coupon_code = models.ForeignKey(coupon, on_delete=models.CASCADE)
miscValue = models.TextField(blank=True, null=True)
def __str__(self):
return self.name
class coupon(models.Model):
sl_no = models.CharField(max_length=50)
@receiver(post_save, sender=coupon)
def save_profile(sender, instance, **kwargs):
Beneficiary.objects.create(name="added from reciever", coupon_code=instance)
3: В тестовой среде это работает нормально, так как мы работаем в локальной сети, но как только это переходит в реальную среду, начинается ошибка, так как есть вероятность сетевой задержки.
- please help how can i control it and why this is happening? thanks in advance