Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 芹菜工人之间的共享XMPP连接_Python_Django_Xmpp_Celery_Facebook Chat - Fatal编程技术网

Python 芹菜工人之间的共享XMPP连接

Python 芹菜工人之间的共享XMPP连接,python,django,xmpp,celery,facebook-chat,Python,Django,Xmpp,Celery,Facebook Chat,我的web应用程序需要能够发送XMPP消息(Facebook聊天),我认为芹菜可能是一个很好的解决方案。一项任务将包括查询数据库和向多个用户发送XMPP消息。然而,使用这种方法,我必须在每次运行任务时连接到XMPP服务器,这不是一个好主意 从: 最佳实践 您的Facebook聊天集成应仅用于预期长期有效的会话。客户不应快速断断续续地搅动 有没有办法在工作人员之间共享XMPP连接,这样我就不必每次发送消息时都重新连接?或者,有更好的解决方案吗?一个长期运行的后台作业如何,它的任务是接收来自其他

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

从:

最佳实践

  • 您的Facebook聊天集成应仅用于预期长期有效的会话。客户不应快速断断续续地搅动

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

一个长期运行的后台作业如何,它的任务是接收来自其他短期进程的消息并将它们推送到XMPP套接字上?

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

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()

是的,这就是我的想法。谢谢