1

我如何拥有一个包含我想每 24 小时作为单独的进程/线程执行的函数的 python 脚本,比如 function1、function2 和 function3?所以说...

主应用程序执行功能1,功能2功能1和功能2在与主应用程序不同的线程中执行一些长时间运行的进程,一旦功能1完成其任务,向主应用程序报告它已完成

主应用程序打印“Done with Function 1”。一旦函数 2 完成其任务,向主应用程序报告它已完成

功能 1 完成 24 小时后... 主应用程序将在功能 2 完成后 6 小时再次执行... 主应用程序将再次执行功能

请注意,这些功能会做类似的事情,但数据源不同,因此不希望有单独的应用程序并执行 cron。例子会很棒。

4

2 回答 2

3

如果您在应用程序中需要它,alarm()是一个很好的起点,并且处理程序应该fork()自行关闭。如果您需要在不同的时间间隔同步不同的功能,PriorityQueue那就太好了,因为您只能维持一个警报。文档中有一个工作alarm()示例。

否则,我可能会使用单独的应用程序,而不是函数,并通过crontab.

于 2012-12-10T01:38:21.847 回答
0

为什么要经历将其设置为每小时启动线程的应用程序的痛苦。为什么不是一个简单的 cron 作业(或者如果你在 MS 机器上,类似的东西),每个函数都将其“用 functionX 完成”写入日志文件。

你的 crontab 看起来像:

0 0 * * * function1.py >> log1
0 0 * * * function2.py >> log2

如果你的脚本中有一个shebang。如果不是,请将“function1.py”替换为“python function1.py”。

于 2012-12-10T01:37:42.577 回答