如何使用Django在Celery任务中使用套接字对象?

时间:2016-09-25 06:05:22

标签: django serialization redis socket.io celery

我遇到了很长时间串行化套接字对象的问题,需要帮助。在我陈述我的问题之前,这是我正在构建的应用程序的技术堆栈。

  • Django的1.8.7
  • Redis
  • 芹菜
  • MySQL
  • GEVENT-socketio
  • greenlet

以下是问题的背景:

我想在我的应用程序中异步发送通知,而不会让请求等待通知发送给订阅者。我正在使用Celery来运行通过套接字发送通知的任务,这些套接字是在用户登录应用程序时创建的。问题是Celery无法识别django应用程序中创建的套接字。

我的尝试:

我尝试了多种方法来序列化套接字对象并将其传递给Celery任务,但我不断收到此错误。 “套接字对象无法序列化”

我还尝试将套接字存储在缓存中,以便我可以在Celery任务期间从缓存中检索。但是在插入缓存时我得到了这个错误 - “无法序列化'Hub'对象”或“”无法序列化'Greenlet'对象“ 也接受了以下答案的帮助,但没有运气。 https://stackoverflow.com/a/26164781/6876786

有人可以帮我解决这个问题吗? 在此先感谢!

0 个答案:

没有答案