0

我正在使用txzmqtwisted构建一个侦听器服务,该服务将通过推拉模式处理一些数据。这是一个工作代码:

from txzmq import ZmqFactory, ZmqEndpoint, ZmqPullConnection
from twisted.internet import reactor

zf = ZmqFactory()
endpoint = ZmqEndpoint('bind', 'tcp://*:5050')

def onPull(data):
    # do something with data

puller = ZmqPullConnection(zf, endpoint)
puller.onPull = onPull

reactor.run()

我的问题是 - 我怎样才能将这段代码包装在一个扭曲的应用程序服务中?也就是说,如何将其包装到MyService我以后可以运行的特定服务(例如)中:

from twisted.application.service import Application

application = Application('My listener')
service = MyService(bind_address='*', port=5050)
service.setServiceParent(application)

twistd赛跑者?

4

1 回答 1

1

IService定义了成为服务的含义。 Service是一个基类,在实现新服务时通常很有帮助。

只需将您的 ZMQ 初始化代码移动到startService实现的对象的方法中IService,可能是Service. 如果您也想进行适当的清理,请在stopService该类的方法中添加一些清理代码。

于 2013-06-23T22:57:30.663 回答