0

所以我有一个小脚本,我希望每周运行一次。它会检查一些变量,如果它设置了,它会继续运行脚本,如果没有,我希望它等待一个小时再试一次。如果仍未设置,它将等待 2 小时,然后 4 小时,然后放弃一周。我的问题是,我可以在 python 中做到这一点吗?似乎我必须在 python 中创建和删除 cron 作业才能使其正常工作。

4

3 回答 3

1

您不能真正直接从 Python 设置标准 crons。相反,我将 cron 设置为每小时触发一次,并在代码中确定它是否需要再次运行(即最后一次成功执行是在 7 天前)。

于 2012-11-19T16:50:43.543 回答
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
于 2012-11-19T16:48:00.827 回答
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
于 2012-11-19T16:50:20.337 回答