gpt4 book ai didi

python - Celery 工作人员之间共享 XMPP 连接

转载 作者:太空狗 更新时间:2023-10-29 21:53:34 25 4
gpt4 key购买 nike

我的网络应用程序需要能够发送 XMPP 消息(Facebook 聊天),我认为 Celery 可能是一个很好的解决方案。一项任务将包括查询数据库并将 XMPP 消息发送给多个用户。但是,使用这种方法,我每次运行任务时都必须连接到 XMPP 服务器,这不是一个好主意。

来自Facebook Chat API docs :

Best Practices

  • Your Facebook Chat integration should only be used for sessions that are expected to be long-lived. Clients should not rapidly churn on and off.

有没有一种方法可以在工作人员之间共享 XMPP 连接,这样我就不必在每次发送消息时都重新连接?或者,有更好的解决方案吗?

最佳答案

您可以在 celery 任务模块中全局创建一个连接,并在您的任务中使用它来发送消息。在这种情况下,连接将在启动时建立,并将在工作进程之间共享。

import socket 
from celery.task import task

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 9999))

@task
def echo(arg):
s.send(arg)
return s.recv()

关于python - Celery 工作人员之间共享 XMPP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8750043/

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