apscheduler.triggers.date
- class apscheduler.triggers.date.DateTrigger(run_date=None, timezone=None)
Bases:
BaseTrigger
Triggers once on the given datetime. If
run_date
is left empty, current time is used.- Parameters:
run_date (datetime|str) – the date/time to run the job at
timezone (datetime.tzinfo|str) – time zone for
run_date
if it doesn’t have one already
- get_next_fire_time(previous_fire_time, now)
Returns the next datetime to fire on, If no such datetime can be calculated, returns
None
.- Parameters:
previous_fire_time (datetime.datetime) – the previous time the trigger was fired
now (datetime.datetime) – current datetime
API
Trigger alias for add_job()
: date
- class apscheduler.triggers.date.DateTrigger(run_date=None, timezone=None)
Bases:
BaseTrigger
Triggers once on the given datetime. If
run_date
is left empty, current time is used.- Parameters:
run_date (datetime|str) – the date/time to run the job at
timezone (datetime.tzinfo|str) – time zone for
run_date
if it doesn’t have one already
- get_next_fire_time(previous_fire_time, now)
Returns the next datetime to fire on, If no such datetime can be calculated, returns
None
.- Parameters:
previous_fire_time (datetime.datetime) – the previous time the trigger was fired
now (datetime.datetime) – current datetime
Introduction
This is the simplest possible method of scheduling a job. It schedules a job to be executed once at the specified time. It is APScheduler’s equivalent to the UNIX “at” command.
The run_date
can be given either as a date/datetime object or text (in the
ISO 8601 format).
Examples
from datetime import date
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
def my_job(text):
print(text)
# The job will be executed on November 6th, 2009
sched.add_job(my_job, 'date', run_date=date(2009, 11, 6), args=['text'])
sched.start()
You can specify the exact time when the job should be run:
# The job will be executed on November 6th, 2009 at 16:30:05
sched.add_job(my_job, 'date', run_date=datetime(2009, 11, 6, 16, 30, 5), args=['text'])
The run date can be given as text too:
sched.add_job(my_job, 'date', run_date='2009-11-06 16:30:05', args=['text'])
To add a job to be run immediately:
# The 'date' trigger and datetime.now() as run_date are implicit
sched.add_job(my_job, args=['text'])