Список заданий cron, запланированных apscheduler



Я использую модульAdvanced Python Scheduler в своих скриптах, чтобы запланировать задание на каждый последний день месяца. Я запускаю этот скрипт python как systemd скрипт в машине CentOS.



from apscheduler.schedulers.blocking import BlockingScheduler

if __name__ == '__main__':
sched = BlockingScheduler()
sched.add_job(lambda: my_aggregation_function(url_list, 'monthly'), 'cron', day='last')
while True:
sched.start()


Я перезапустил свой скрипт (systemd), добавив эти изменения, и теперь скрипт работает с запланированным заданием.



Мой вопрос заключается в том, как я могу подтвердить, что задание запланировано из моего скрипта python для запуска, как я настроил. Я сделал список хронов, как показано ниже, но не смог найти ни одного списки запланированы.



crontab -u root -l  


Также для тестового задания на интерактивной оболочке,



# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from apscheduler.schedulers.blocking import BlockingScheduler
>>> sched = BlockingScheduler()
>>> def job_function():
... print "Hello World"
...
>>> sched.add_job(job_function, 'cron', day='last')
<Job (id=c4b232a453dd4b5dbea5ef413d7a8c4d name=job_function)>
>>> sched.start()


Как я вижу детали упомянутого идентификатора задания (c4b232a453dd4b5dbea5ef413d7a8c4d)? Можно ли смотреть таким образом?



Также я искал другой модуль python-crontab для управления заданиями cron. Это также не перечисляло вакансии



>>> from crontab import CronTab
>>> my_cron = CronTab(user='root')
>>> for job in my_cron:
... print job
...
671   1  

1 ответ:

Я думаю, что здесь есть серьезное недоразумение. Похоже, вы думаете, что APScheduler каким-то образом управляет заданиями cron системы. Это не. Это внутрипроцессный планировщик, который просто имеет хроноподобный триггер для планирования заданий. APScheduler не имеет никакой связи с любым демоном cron или crontabs.

Обновление фактического ответа из комментариев. API определяется в разделе apscheduler официальная документация

scheduler.get_jobs()

Comments

    Ничего не найдено.