我想每天间隔2分钟运行大约100个python脚本,以确保它们没有重叠。我正在使用linux / Mac系统。
是否有使用cron标签执行此操作的动态方法?也许有一个调度程序可以使它变得更容易?
我认为最简单的方法是使用python time模块添加延迟来开发自己的python脚本来对此进行管理。
import time
time.sleep(120) # 2 minute delay.
要调用脚本,只需导入文件,然后运行即可执行。
exec('file.py') #this is for python 3
这里的目标是让文件分开[[精确地两分钟执行,还是您希望一项工作在另一项执行之前就完成?
如果您只关心在script1
之前完成script2
,crontab应该可以在cronjob中使用如下命令执行此操作:script1 && script2
this Reddit post的注释中有一个不错的例子。如果您确实想让脚本完全分开执行2分钟,也许可以按setting a specific execution time来执行?当然,这可能对故障有些敏感/不是最可靠的方法,因此添加某种事件侦听器等可能是更好的选择。
希望这会有所帮助!
我将编写一个(很可能是bash)脚本,它将执行所有100个脚本,然后使用crontab调用该脚本。每2分钟的cron行如下:
*/2 * * * * <file>
这里是一个bash脚本,它在目录中运行所有python脚本,假设所有100个脚本都在同一目录中(取自here。
for f in *.py; do python "$f"; done