在生产环境中两次调用Django模型方法,但在暂存或本地开发服务器上未两次调用

时间:2019-08-23 12:27:43

标签: django django-models django-views

我的堆栈:

  • Ubuntu 18
  • Postgres 10
  • 独角兽
  • NGINX
  • Django 2.1

我有一个Django模型方法,如果在视图中提交表单,该方法会向用户发送电子邮件。

在昨晚部署了一个不会触及以下所述应用程序中任何代码的更新后,截至今天早上提交该表单时,发送电子邮件的方法被调用了两次,导致发送了两封重复的电子邮件每次。

我已经开始记录导致使用stack_info=True调用此方法的调用的回溯,并且对于该方法的两次调用它们都是相同的(即,该方法未被恶意代码以不同的方式调用)每次放置)相隔几百毫秒。

记录的呼叫都像:

File "/home/[path]/views.py", line 292, in my_view
    foo': _foo})
File "/home/[path]/views.py", line 231, in _process_view_helper_func
    thing.send_email()
File "/home/[path]/models.py", line 351, in send_email
    stack_info=True,

令人困惑的是,当我在本地(Django开发服务器)和暂存服务器(与生产服务器具有相同的堆栈和配置)上提交表单时,该方法仅被调用一次,并且不会发送重复的电子邮件。

是什么导致我的生产服务器两次调用此方法,而不是我的登台服务器或本地开发服务器?

0 个答案:

没有答案