Python中的嵌套cron作业

时间:2018-10-25 10:23:37

标签: python cron nested jobs

我正在使用Python 2.7。我的要求是创建一个主cron作业,该作业将每20分钟被调用一次。 cron作业将创建另一个每2分钟运行一次的cron作业。调用主cron作业时,它将删除所有带有注释'helloworld'的作业。

这是我的代码:主要的cron作业:cronJobTest.py:

from crontab import CronTab

my_cron = CronTab(user='root')
for job in my_cron:
        if job.comment == 'helloworld':
                my_cron.remove(job)
                my_cron.write()

job = my_cron.new(command='python /root/cron/writeDate.py', comment='helloworld')
job.minute.every(20)
my_cron.write()

writeDate.py将创建另一个cron作业,每2分钟打印一次“ helloworld”:

import datetime
from crontab import CronTab

with open('dateInfo.txt', 'a') as outFile:
    outFile.write('\n' + str(datetime.datetime.now()))

print "Starting helloworld"

my_cron = CronTab(user='root')
job = my_cron.new(command='python /root/cron/hello.py', comment='helloworld')
job.minute.every(2)
my_cron.write()

hello.py:

print "Hello World"

当我运行主要cron作业:cronJobTest.py时,它将每隔20分钟运行程序writeDate.py,该程序将日期输出到文件中。但是writeDate.py不会调用带有注释“ helloworld”的子cron作业“ hello.py”。如何解决此问题?

这是我的crontab -l输出:

root@xyz:~/cron# crontab -l

*/20 * * * * python /root/cron/writeDate.py # helloworld

0 个答案:

没有答案