/ / Liste des tâches cron planifiées par apscheduler - python, python-2.7, cron, apscheduler

Répertorie les travaux cron planifiés par apscheduler - python, python-2.7, cron, apscheduler

J'utilise le Planificateur avancé de Python module dans mes scripts pour planifier un travail pour chaque dernier jour du mois. J'exécute ce script python en tant que systemd script dans la machine 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()

J'ai redémarré mon script (systemd) en ajoutant ces modifications et le script s'exécute maintenant avec le travail planifié.

Ma question est de savoir comment confirmer si le travail est planifié à partir de mon script python pour être exécuté tel que je l'ai configuré. J'ai fait une liste cron comme ci-dessous mais je ne pouvais pas trouver les listes prévues.

crontab -u root -l

Aussi pour un travail de test sur shell interactif,

# 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()

Comment puis-je voir les détails de l'identifiant du travail (c4b232a453dd4b5dbea5ef413d7a8c4d) mentionné? Est-il possible de regarder de cette façon.

J'ai aussi cherché un autre module python-crontab pour gérer cron emplois. Cela n'a pas non plus la liste des emplois

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

Réponses:

1 pour la réponse № 1

Je pense qu’il ya un grave malentendu ici. Il semble que vous pensiez qu’APScheduler gérait d’une manière ou d’une autre les tâches cron du système. Ce n’est pas le cas. C’est un planificateur en cours de processus qui dispose d’un déclencheur semblable à celui de Cron pour la planification des tâches. APScheduler n'a aucun lien avec les démons cron ni les crontabs.

Mise à jour de la réponse réelle à partir des commentaires. L'API est définie dans le apscheduler documentation officielle

scheduler.get_jobs()