同步ProcessPoolExecutor

时间:2018-07-04 10:55:16

标签: python python-3.x process-pool

我正在尝试使用current.futures.ProcessPoolExecutor()运行一些非常大的时序数据。数据集包含多个时间序列(独立的)。整个数据集位于元组列表data中,我通过以下列表通过辅助函数:

def help_func(daa):
    large_function(daa[0], daa[1], daa[2])

with concurrent.futures.ProcessPoolExecutor() as executor:
    executor.map(help_func, data, chunksize=1)

现在,尽管数据中包含的不同时间序列在各列之间是独立的,但是由于时间序列数据的性质,一个时间序列中的值需要一个接一个地处理。通过根据不同的时间序列对data变量进行排序,可以确保map始终会随时间依次进行调用。

对于executor.map,我无法找出一种始终将特定时间序列映射到同一内核的方法,或者无法以某种方式共享以前尝试到新内核上运行的进程的状态。

在当前设置下,每当在新内核上调用特定时间戳的处理时,该处理便从初始化步骤开始。

这个问题有解决方案吗?

0 个答案:

没有答案