Fabric Python并行执行:共享一个变量

时间:2015-07-31 15:56:54

标签: python parallel-processing fabric

我正在开发一种使用Fabric的工具。

我使用这样的执行函数:

execute(my_function, a_shared_var, hosts=servers)

a_shared_var在my_function中修改。

当my_function未在并行模式下运行时,一切正常,但是@parallel a_shared_var会复制到不同的分叉中,并且无法共享信息。

你有什么想法,我怎么能在所有主机之间有a_shared_var,什么时候回到主要a_shared_var必须是最新的所有修改?

我正在考虑写入my_function中的文件,因为我没有其他想法......

谢谢,

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。使用多处理队列。 在运行execute函数之前,我启动一个必须读入Queue的线程。 在my_function中,我有一个将消息放入队列的生产者。