我正在provision_ec2_node()
通过默认的asyncio
事件循环线程执行器运行一个函数。该函数接受一些我通过传递给执行程序的参数functools.partial()
。
task = loop.run_in_executor(
executor=None,
callback=functools.partial(
provision_ec2_node,
modules=modules,
host=instance.ip_address,
identity_file=identity_file,
cluster_info=cluster_info))
这段代码在 Python 3.4 上运行良好,我已经这样使用了几个月。
但是,我最近升级到 Python 3.5,现在上面的代码抛出了这个错误:
TypeError: run_in_executor() got an unexpected keyword argument 'callback'
查看有关 的Python 3.5 发行说明asyncio
,我没有看到任何解释这种行为变化的内容。此外,3.5 文档仍然说这functools.partial()
是将带有关键字的函数传递给执行程序的正确方法。
是什么赋予了?