项目结构如下:
website/
celery/
task.py
socketio/
socket.py
views/
index.py
init.py
manage.py
我的 flask app 在 init 里初始化,celery 在 task 里初始化,socket 在 socket.py 里初始化。 然后在 index 里创建一个路由
@app.route('/index')
def indexx():
from website.celery.tasks import test
test.delay()
return 'a'
test 如下:
from website.socketio.socket import socket
@celery.task
def test():
# socketio = SocketIO(message_queue='redis://localhost:6379/1')
socketio.emit('response',{'data':'sdasda'},broadcast=True)
print "aaaa"
然后运行,celery shell 显示任务执行了,但是 socket 发的消息并没有在前端收到怎么办呢?好急 请教各位大神啦!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.