1

当代码在 Python 2.6 for Linux 中像守护进程一样工作时,我想每隔 x 秒重复一次函数。我有一些代码,但它给了我很多问题。是否可以调用另一个 file.py 而不是在里面编写代码?

这是代码:

import daemon   
import threading

def hello():
    print "hello, world"
    t = threading.Timer(2.0, hello).start()

def run():
    with daemon.DaemonContext():
        hello()

if __name__ == "__main__":
    run()
4

3 回答 3

3

有时不值得处理特定于守护进程的细节。看看supervisord,一个过程控制系统,它可以很容易地围绕现有应用程序包装守护程序行为。

于 2013-11-10T21:52:12.670 回答
2

有什么问题:

import daemon   
import threading
import another_file

def problematic_func_loop():
    another_file.peoblematic_func()
    t = threading.Timer(60.0, problematic_func_loop).start()

def run():
    with daemon.DaemonContext():
        problematic_func_loop()

if __name__ == "__main__":
    run()
于 2013-11-10T21:46:13.537 回答
0

看看Fat 控制器,它可以每 x 秒重复一次任何程序。如果需要,它还可以处理故障并提供并行执行策略,还可以作为守护程序运行。

官网有文档、示例和用例:

http://fat-controller.sourceforge.net/

于 2013-11-11T09:56:20.373 回答