我像这样使用multiprocessing.Pool
来执行许多任务。你知道吗
def execute(task):
# run task, return result
def on_completion(task_result):
# process task result
async_results = [pool.apply_async(execute,
args=[task],
callback=on_completion)
for task in self.tasks]
# wait for results
我的完成处理程序是由池以一种很好的序列化方式调用的,因此我不必担心它的实现中的线程安全。你知道吗
但是,我也希望在任务启动时得到通知。有没有一个优雅的方法来完成以下任务?你知道吗
def on_start(arg): # Whatever arg(s) were passed to the execute function
# Called when task starts to run
pool.apply_async(run_task,
args=[task],
start_callback=on_start,
completion_callback=on_completion)
目前没有回答
相关问题 更多 >
编程相关推荐