APScheduler Options

I am trying to schedule program tasks using the Advace Python scheduler, my problem is that the documentation only mentions how to schedule using the trigger type “interval”, what are “cron” and “date”. Is there a complete documentation on APScheduler scheduling options?

For instance:

#!/usr/bin/env python from time import sleep from apscheduler.scheduler import Scheduler sched = Scheduler() sched.start() # define the function that is to be executed def my_job(text): print text job = sched.add_job(my_job, 'interval', id='my_job', seconds=10, replace_existing=True, args=['job executed!!!!']) while True: sleep(1) 

How can I plan based on "date" or "cron"

I am using the latest version of APScheduler version 3.0.2

thanks

+5
source share
2 answers
 sched.add_job(my_job, trigger='cron', hour='22', minute='30') 

Means the call function 'my_job' once a day at 22:30.

APScheduler is good stuff, but the lack of documents is a pity you can read the source to find out more.

There are some more tips for you:

  • use *

     sched.add_job(my_job, trigger='cron', second='*') # trigger every second. 
  • some more attributes

     {'year': '*', 'month': 1, 'day': 1, 'week': '*', 'day_of_week': '*', 'hour': 0, 'minute': 0, 'second': 0} 

And, in my opinion, the cron job can replace date jobs in most situations.

+4
source

Based on date

 job = sched.add_date_job(my_job, '2013-08-05 23:47:05', ['text']) # or can pass datetime object. 

for instance

 import datetime from datetime import timedelta >>>job = sched.add_date_job(my_job, datetime.datetime.now()+timedelta(seconds=10), ['text']) 'text' # after 10 seconds 

cron based

 >>>job = sched.add_cron_job(my_job, second='*/5',args=['text']) 'text' every 5 seconds 

Another example

 >>>job = sched.add_cron_job(my_job,day_of_week='mon-fri', hour=17,args=['text']) "text" #This job is run every weekday at 5pm 
+1
source

All Articles