我尝试使用协程将数据发送到NATS(nats.io消息传递系统)。
当我尝试在没有参数的情况下调用此代码时,为了循环,它可以正常工作。
但是当我添加参数时, yield nc.connect 函数不会返回任何内容并继续使用main函数。
如何通过参数调用任何协程?
for i, g in df.groupby('Name'):
globals()['df_' + str(i)] = g
print (df_a)
Name A B C
0 a 4 7 1
1 a 5 8 3
答案 0 :(得分:0)
我会尝试进一步调试您传递给服务器的端点列表是否有效。否则,如果您可以连接到服务器,那么执行此类操作应该有效。
# coding: utf-8
import tornado.ioloop
import tornado.gen
from nats.io.client import Client as NATS
@tornado.gen.coroutine
def main(events):
print("Args:", events)
nc = NATS()
# Establish connection to the server.
options = { "servers": ["nats://127.0.0.1:4222"] }
yield nc.connect(**options)
for e in events:
yield nc.publish("example", "event:{}".format(e))
if __name__ == '__main__':
events = ['1', '2', '8']
tornado.ioloop.IOLoop.instance().run_sync(lambda: main(events))