所以我有一个小剧本我想每周跑一次。它将检查一些变量,如果它的设置,它继续运行脚本,如果没有,我希望它等待一个小时再试一次。如果它仍未设置,它将等待2小时,然后是4,然后放弃一周。我的问题是,我可以在python中这样做吗?好像我必须在python中创建和删除cron作业才能使它工作。
答案 0 :(得分:1)
你无法直接从Python设置标准crons。相反,我会将cron设置为每小时触发一次,并在代码中确定是否需要再次运行(即最后一次成功执行超过7天)。
答案 1 :(得分:0)
您可以尝试使用Time.sleep
if not_set:
Time.sleep(60 * 60) # 1 hour
if not_set:
Time.sleep(60 * 60 * 2) # 2 hours
if not_set:
Time.sleep(60 * 60 * 4) # 4 hours
答案 2 :(得分:0)
我相信你正在寻找at
命令,你可以在这里找到一个小教程:http://www.ibm.com/developerworks/linux/library/l-job-scheduling/index.html
基本用法:
at -f some_file_with_the_jobs.sh some_time
您可以轻松使用相对时间:
at -f some_file_with_the_jobs.sh 10pm tomorrow