我有两个python脚本作为cronjobs
运行。在
ScriptA处理日志文件并将记录插入table
,ScriptB使用这些记录生成报告。在
我已经安排ScriptA在ScriptB之前运行一个小时,但有时ScriptB在ScriptA完成插入之前运行,因此生成了一个不正确的报告。在
如何确保ScriptB在ScriptA完成后立即运行?在
编辑
ScriptA和ScriptB做的事情非常不同,比如说,一个用于保存用户数据,另一个用于内部使用。在其他地方可能有一些脚本依赖于ScriptA。在
所以我不能把这两份工作合并。在
Tags:
让一个cron作业运行ScriptA,然后再运行ScriptB,不是更好吗?这样,您就可以确保ScriptB在ScriptA完成之前不会运行,而且您不需要修改任何一个脚本。在
cronjob可以运行一个简单的shell脚本,比如:
编辑:如果您真的不能合并这两个cron作业,可以使用this question中描述的技术等待第一个进程完成。在
一种方法是确保如果这两个作业是独立的cron作业-中间有足够的时间来覆盖作业1的运行。在
另一种方法是锁定,正如其他人所建议的那样,但是请注意,cron不会仅仅因为作业因锁定而失败而重新运行。所以要么job2必须在休眠周期中运行,直到它再也看不到锁为止,要么恰恰相反,看到job1完成的标志,要么你就得有创意了。在
为什么不在第一个脚本完成后触发第二个脚本,并使其成为一个单独的cron作业?在
让它写一个文件,然后检查文件是否在那里。在
相关问题 更多 >
编程相关推荐