0
我與asyncio使用高速公路,我試圖讓一個方法內擴展WebSocketServerFactory的類運行每x秒。如何在正在與asyncio.create_server一起使用的類中運行方法異步?
這是高速公路網站上的文檔怎麼做的:
from autobahn.asyncio.websocket import WebSocketServerFactory
factory = WebSocketServerFactory()
factory.protocol = MyServerProtocol
loop = asyncio.get_event_loop()
coro = loop.create_server(factory, '127.0.0.1', 9000)
server = loop.run_until_complete(coro)
我只是取代了WebSocketServerFactory類繼承它的類,並且我要運行它裏面的方法每x秒。
我在高速公路網站上找到了一個這樣的例子,但它使用了扭曲而不是asyncio。
這裏是我想要的東西簡單的例子(original and full version),但該示例使用雙絞線:使用ASYNCIO
class CustomServerFactory(WebSocketServerFactory):
def __init__(self, url):
WebSocketServerFactory.__init__(self, url)
self.tick()
def tick(self):
print("tick!")
self.do_something()
reactor.callLater(1, self.tick)
我怎樣才能achive是一回事嗎?
傳遞迴路的類,然後使用self.loop.call_later似乎工作得很好。謝謝! – Alex