我在一个函数中使用pool.map,该函数在不同的数据帧块上并行调用一个函数。我在Django API中使用这个。
从我的API调用中,调用了创建pool和pool.map的parallelize_df函数。但我观察到,每当调用pool.map时,API都会再次调用。当数据帧大小很小时,这不是问题。
有人能帮助吗
代码:
def parallelize_df(df, function_name):
dataframe_split = np.array_split(df, num_partitions)
pool = Pool(multiprocessing.cpu_count())
df = pd.concat(pool.map(function_name, dataframe_split))
pool.close()
pool.join()
return df
def calculate(df_input):
# do some calculation
return df
糟糕的是,这个问题是因为使用Chrome进行测试。我猜当API请求花费大量时间时,Chrome重新发送了请求。尝试使用Postman,我无法复制问题