This is the simplest possible method of scheduling a job. It schedules a job to be executed once at the specified time. This is the in-process equivalent to the UNIX “at” command.
from datetime import date
from apscheduler.scheduler import Scheduler
# Start the scheduler
sched = Scheduler()
sched.start()
# Define the function that is to be executed
def my_job(text):
print text
# The job will be executed on November 6th, 2009
exec_date = date(2009, 11, 6)
# Store the job in a variable in case we want to cancel it
job = sched.add_date_job(my_job, exec_date, ['text'])
We could be more specific with the scheduling too:
from datetime import datetime
# The job will be executed on November 6th, 2009 at 16:30:05
job = sched.add_date_job(my_job, datetime(2009, 11, 6, 16, 30, 5), ['text'])
You can even specify a date as text, with or without the time part:
job = sched.add_date_job(my_job, '2009-11-06 16:30:05', ['text'])
# Even down to the microsecond level, if you really want to!
job = sched.add_date_job(my_job, '2009-11-06 16:30:05.720400', ['text'])