django 信号总是同步的吗?

2023-11-26

我正在开发一个 django IPN 插件,它将 IPN 数据保存到模型中,然后调用 post_save 信号。

我担心在这种用例(gunicorn、gevent 等)下信号可能会异步调用/完成。 IPN 经常向 iPN url 发送超过 1 个请求,我需要能够按顺序处理这些请求。

我应该为此使用队列吗?简单的 python 队列会工作得更好,还是应该使用像 kombu + celery 这样的东西(有 1 个工作人员)?


不确定同步性是您真正关心的问题。 Django的信号总是被执行进行中:也就是说,它们将由执行该请求其余部分的进程在返回响应之前执行。但是,如果您的服务器本身是异步的,则一个请求可能会在稍后收到的第二个请求之后完成处理,因此信号将以错误的顺序进行处理。

当然,Celery 绝对是异步的,但如果可靠的排序是您的首要任务,那么它可能是一个更好的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 信号总是同步的吗? 的相关文章

随机推荐

  • 使用 Python 在 Mac 上自动化 Outlook

    我可以使用 win32 COM 在 Windows 上自动化 Outlook 但是有人知道在 mac osx 上执行相同操作的纯 python 方法吗 一个简单的用例是 打开 Outlook 连接到活动实例 启动空白的新电子邮件 我想创建一
  • OsX 下的 xargs -r 相当于什么

    它们在 OSX 下是否等同于xargs r在Linux下 我正在尝试找到一种在没有数据的情况下中断管道的方法 例如 假设您执行以下操作 touch test cat test xargs r echo content 这不会产生任何结果 因
  • 动画填充模式不起作用

    我试图让标题飞入 然后当你将其悬停时 它应该摇动 都带有 css3 动画 它以我想要的方式飞行 也会晃动 但是在我将鼠标从元素上移开后 它会回到原来的右边距 在飞入动画之前 即使我设置了 animation fill mode forwar
  • Spring Boot 中的 WebMvcTest

    我有一个基本的 Spring Boot 应用程序 嵌入式 Tomcat Thymeleaf 模板引擎 并打包为可执行 JAR 文件 我有这门课 Service public class I18NService The application
  • Spring Security 3.2.0RC2 注销 url 仅 POST?

    我正在使用 javaconfig 尝试 Spring Security 3 2 0 RC2 似乎注销 url 仅是 POST 这是设计使然吗 有什么方法可以让它通过 GET 请求注销用户吗 protected void configure
  • 将元组添加到地图?

    使用 Scala 2 11 8 我可以附加一个key value通过以下方式与地图配对 scala gt Map 1 gt 1 2 gt 2 res8 scala collection immutable Map Int Int Map 1
  • 提取指定位置的字符

    我试图找到一个函数来提取字符串中某个位置的字符 例如 我有一个包含日期的长文件名 我只想以日期结束 LT50420331984221PAC00 B7 tif 我只想要 1984221 部分 我想出了一个复杂的函数 但想知道是否有更优雅的解决
  • 删除的图像仍然显示在 Android 图库中,直到我重新启动模拟器

    我正在删除一个文件 File fileToDelete new File filepath Boolean fileDeleted fileToDelete delete fileDeleted 是 true 当我检查 DDMS 时 文件不
  • 远程源已存在于新存储库的“git Push”上

    我在 GitHub 上的某个位置有我的项目 email protected myname oldrep git 现在我想将所有代码推送到其他位置的新存储库 email protected newname newrep git 我使用了命令
  • EF6 Code First - 可能会导致循环或多个级联路径

    我正在使用 EF6 代码优先 我有两节课 public class Player DatabaseGeneratedAttribute DatabaseGeneratedOption Identity Key public int Id g
  • 在 HttpSessionListener 中如何获取 HttpServletRequest?

    如何从 SessionListener 访问请求标头 我需要在创建当前会话时为其设置超时 超时需要根据 HttpServletRequest 中的标头而变化 我已经有一个 SessionListener 实现 HttpSessionList
  • Python 中的字符串相似度度量[重复]

    这个问题在这里已经有答案了 我想找到两个字符串之间的字符串相似度 维基百科有其中一些例子 code google 有一个 Python 实现编辑距离 在这些限制下 是否有更好的算法 希望有一个 Python 库 我想在字符串之间进行模糊匹配
  • 有人在 tomcat 控制台上写了一条消息

    我在 Tomcat 7 上部署了一个应用程序 今天早上我注意到 Tomcat 控制台上有两条消息 你在 stderr 窗口看到我了吗 您也在浏览器窗口中看到了我吗 有人设法远程写入这些消息 我需要担心吗 有人黑了我的网站吗 thanks F
  • 在 Woocommerce 3 中重命名相关产品标题

    我曾经使用以下功能来更改 Woocommerce 中的相关产品文本 function my text strings translated text text domain switch translated text case Relat
  • 对目录文件进行排序并获取最大的文件名

    我有一个包含 40 个文件的目录 文件名从 0 到 39 例如 我正在尝试获取名称中数字最大的文件 这意味着我需要获取 39 我正在尝试对目录进行排序 我尝试过使用以下主题 如何检索目录中按名称排序的文件列表 在 C 中对 Director
  • 类型错误:无法读取未定义的属性(读取“$router”)vuejs

    因此 如果 api 调用返回状态 422 我尝试将用户重定向到不同的路线 但我收到错误 TypeError Cannot read properties of undefined reading router 我的routes js pat
  • 将 PySpark 数据帧列的聚合值存储到变量中

    我在这里使用 PySpark 数据框 test1 是我的 PySpark 数据帧 event date 是 TimestampType 因此 当我尝试获取 event date 的不同计数时 结果是一个整数变量 但是当我尝试获取同一列的最大
  • 为什么 Visual Studio 在第二次调试会话之前不会命中断点?

    通过 TEST 菜单或右键单击上下文菜单调试单元测试时 在对当前 C 测试类进行代码更改后 VS2013 始终会忽略单元测试中的断点 第二次调试会导致断点被命中 我怀疑这与VS2013的新功能 保持测试执行引擎运行 有关 您可以通过 TES
  • Google Protocol Buffers:C++ 的 parseDelimitedFrom 和 writeDelimitedTo

    抱歉再次问这个问题 但是我们能否一劳永逸地发布一些与 Java 函数匹配的 C 函数 它们似乎没有被谷歌添加 并且自己编写它们是相当痛苦的 下面的答案使用了一些this and this 这是带有 boost asio 的两个基本版本 请注
  • django 信号总是同步的吗?

    我正在开发一个 django IPN 插件 它将 IPN 数据保存到模型中 然后调用 post save 信号 我担心在这种用例 gunicorn gevent 等 下信号可能会异步调用 完成 IPN 经常向 iPN url 发送超过 1