Вложенные задания cron в Python - PullRequest
0 голосов
/ 25 октября 2018

Я использую Python 2.7.Мое требование - создать основное задание cron, которое будет вызываться каждые 20 минут.Задание cron создает другое задание cron, которое запускается каждые 2 минуты.Когда вызывается основное задание 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, которое печатает "helloworld" каждые 2 минуты:

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 не вызывает дочернее задание cron «hello.py» с комментарием «helloworld».Как решить эту проблему?

Это мой вывод crontab -l:

root@xyz:~/cron# crontab -l

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