在supervisord运行的子进程之间共享数据

时间:2013-07-31 04:17:38

标签: python multiprocessing supervisord

我有python脚本,必须执行多次操作。我使用supervisord来运行此脚本的多个实例。每个脚本都有如下代码:

    count = 0
    while count != MAX_COUNT:
        try:
            perform_action()
            count += 1
        except Exception, e:
            print 'Error happened...'
            print e

因此,例如,我运行10个进程,MAX_COUNT = 1000。在这种情况下,每个脚本将执行perform_acion() 1000次。但我需要1000次。所以,我需要在所有supervisord子进程之间以某种方式共享count perform_action()执行。

我该怎么做?

我考虑使用redis \ memcached \ sqlite - 但也许这是另一种解决方案?

1 个答案:

答案 0 :(得分:0)

变量'count'在每个脚本的开头初始化为0,您应该将计数存储到共享位置并由每个进程独占访问。