首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现一个可以从队列中获取消息并推送消息的nsq编写器?

如何实现一个可以从队列中获取消息并推送消息的nsq编写器?
EN

Stack Overflow用户
提问于 2016-03-28 22:42:12
回答 1查看 715关注 0票数 0

我想要的只是在线程中运行ioloop,并将消息写入nsqd。下面是一个尝试:

代码语言:javascript
复制
#!/usr/bin/env python2
# coding=utf-8

import tornado
import time
from nsq.writer import Writer

w = Writer(["bj1:4150", "bj2:4150"], reconnect_interval=15)
w.connect()


@tornado.gen.coroutine
def future_pub(topic, msg):
    result = w.pub(topic, msg)
    print(result)
    time.sleep(3)
    raise tornado.gen.Return(result)


@tornado.gen.coroutine
def main():
    while True:
        try:
            future = future_pub("test", "message")
            yield future
        except Exception as e:
            print(e.message)


tornado.ioloop.IOLoop.instance().run_sync(main)

但它并没有起作用。你能帮我一下吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-03-29 22:43:51

您从未运行过nsq.run(),因此没有打开任何连接,并且您的Writer无法发布消息。

请参阅文档中的示例:https://pynsq.readthedocs.org/en/latest/writer.html,它使用PeriodicCallback每秒发送一次消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36264629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档