python asyncio run_forever或True

时间:2015-09-24 12:16:35

标签: python python-asyncio

我应该在代码中替换while True(没有asyncio),还是应该使用asyncio事件循环来完成相同的结果。

目前我在某种与“zeromq”连接的“worker”上工作,接收一些数据,然后对外部工具(服务器)执行一些请求(http)。一切都是用普通阻止IO编写的。使用asyncio事件循环摆脱while True: ...

是否有意义

将来它可能会在asyncio中完全重写,但现在我害怕从asyncio开始。

我是asyncio的新手,并不是这个库的所有部分对我来说都很清楚:)

Thx:)

1 个答案:

答案 0 :(得分:6)

如果您想开始使用不支持它的库编写asyncio代码,可以使用BaseEventLoop.run_in_executor

这允许您将可调用提交到ThreadPoolExecutorProcessPoolExecutor并异步获取结果。默认执行程序是一个包含5个线程的线程池。

示例:

$this->Auth->allow('index')