我希望每x分钟定期运行一个Python脚本。让cron启动它或在Python中有一个睡眠运行周期更好吗?我认为以下是要做出决定的要点。如果我错过了,请告诉我。我想这不仅与Python有关,而且在更一般的意义上也适用。
答案 0 :(得分:1)
您的论点指向了cron解决方案。
使用信号量/锁可轻松处理cron重叠问题。例如,Linux附带了flock命令,它简单易用,可以在shell脚本中使用。有关示例,请参阅http://linux.die.net/man/1/flock。
在bash脚本中,如果您从这段代码开始:
exec 200>/var/run/yourscript.lock
flock -n 200 || exit 1
// exec your script here
脚本将建立一个独占锁,或者以代码1退出。您可以通过执行python脚本来执行此操作。这可以防止重叠运行。当bash脚本结束时,将释放文件句柄。
答案 1 :(得分:0)
建议的守护程序(python)脚本是一个可行的解决方案。您可以使用python库来简化任务。
为了避免内存泄漏,您应该通过子进程库将周期性python脚本作为单独的进程执行,并捕获退出状态。