gpt4 book ai didi

Django:信号接收器同时运行吗?

转载 作者:行者123 更新时间:2023-12-01 20:21:15 25 4
gpt4 key购买 nike

我想知道响应 Django 信号的监听器方法是顺序执行还是并发执行。本质上是这样的:

for object_instance in object_instance_list:
custom_signal.connect(object_instance.method)
custom_signal.send(self)

与此不同:

for object_instance in object_instance_list:
object_instance.method()

编辑:对代码进行语法更正

最佳答案

您可以阅读代码 FWIW - Django 是开源的。但无论如何:

  1. 信号接收器按顺序调用
  2. 在第二个片段中,您没有调用object_instance.method - 您需要添加括号(并最终传递相关参数 - 在本例中至少是发送者)才能实际调用该方法。

长话短说:信号主要用于允许应用程序之间的松散耦合。如果你想要并发执行,你要么必须使用线程或子进程(这可能不安全,具体取决于执行环境),要么选择像 celery 这样的东西。

关于Django:信号接收器同时运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15465476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com