【发布时间】:2017-03-29 16:49:18
【问题描述】:
我正在使用 VSphere API,以下是我正在处理的行:
task = vm.PowerOff()
while task.info.state not in [vim.TaskInfo.State.success, vim.TaskInfo.State.error]:
time.sleep(1)
log.info("task {} is running".format(task))
log.ingo("task {} is done".format(task))
这里的问题是,这会在任务未完成时完全阻止执行。我希望日志记录部分“并行”运行,这样我就可以开始其他任务了。
我想过创建一个函数,它可以接受一个任务作为参数,并像现在一样轮询info.state 属性,但是我如何使它成为非阻塞的呢?
编辑:我使用的是 Python 2.7
【问题讨论】:
标签: python multithreading concurrency python-multiprocessing