apscheduler.jobstores.mongodb

class apscheduler.jobstores.mongodb.MongoDBJobStore(database='apscheduler', collection='jobs', client=None, pickle_protocol=5, **connect_args)

Bases: BaseJobStore

Stores jobs in a MongoDB database. Any leftover keyword arguments are directly passed to pymongo’s MongoClient.

Plugin alias: mongodb

Parameters:
  • database (str) – database to store jobs in

  • collection (str) – collection to store jobs in

  • client – a MongoClient instance to use instead of providing connection arguments

  • pickle_protocol (int) – pickle protocol level to use (for serialization), defaults to the highest available

add_job(job)

Adds the given job to this store.

Parameters:

job (Job) – the job to add

Raises:

ConflictingIdError – if there is another job in this store with the same ID

get_all_jobs()

Returns a list of all jobs in this job store. The returned jobs should be sorted by next run time (ascending). Paused jobs (next_run_time == None) should be sorted last.

The job store is responsible for setting the scheduler and jobstore attributes of the returned jobs to point to the scheduler and itself, respectively.

Return type:

list[Job]

get_due_jobs(now)

Returns the list of jobs that have next_run_time earlier or equal to now. The returned jobs must be sorted by next run time (ascending).

Parameters:

now (datetime.datetime) – the current (timezone aware) datetime

Return type:

list[Job]

get_next_run_time()

Returns the earliest run time of all the jobs stored in this job store, or None if there are no active jobs.

Return type:

datetime.datetime

lookup_job(job_id)

Returns a specific job, or None if it isn’t found..

The job store is responsible for setting the scheduler and jobstore attributes of the returned job to point to the scheduler and itself, respectively.

Parameters:

job_id (str|unicode) – identifier of the job

Return type:

Job

remove_all_jobs()

Removes all jobs from this store.

remove_job(job_id)

Removes the given job from this store.

Parameters:

job_id (str|unicode) – identifier of the job

Raises:

JobLookupError – if the job does not exist

shutdown()

Frees any resources still bound to this job store.

start(scheduler, alias)

Called by the scheduler when the scheduler is being started or when the job store is being added to an already running scheduler.

Parameters:
update_job(job)

Replaces the job in the store with the given newer version.

Parameters:

job (Job) – the job to update

Raises:

JobLookupError – if the job does not exist

API

class apscheduler.jobstores.mongodb.MongoDBJobStore(database='apscheduler', collection='jobs', client=None, pickle_protocol=pickle.HIGHEST_PROTOCOL, **connect_args)

Bases: BaseJobStore

Stores jobs in a MongoDB database. Any leftover keyword arguments are directly passed to pymongo’s MongoClient.

Plugin alias: mongodb

Parameters:
  • database (str) – database to store jobs in

  • collection (str) – collection to store jobs in

  • client – a MongoClient instance to use instead of providing connection arguments

  • pickle_protocol (int) – pickle protocol level to use (for serialization), defaults to the highest available

add_job(job)

Adds the given job to this store.

Parameters:

job (Job) – the job to add

Raises:

ConflictingIdError – if there is another job in this store with the same ID

get_all_jobs()

Returns a list of all jobs in this job store. The returned jobs should be sorted by next run time (ascending). Paused jobs (next_run_time == None) should be sorted last.

The job store is responsible for setting the scheduler and jobstore attributes of the returned jobs to point to the scheduler and itself, respectively.

Return type:

list[Job]

get_due_jobs(now)

Returns the list of jobs that have next_run_time earlier or equal to now. The returned jobs must be sorted by next run time (ascending).

Parameters:

now (datetime.datetime) – the current (timezone aware) datetime

Return type:

list[Job]

get_next_run_time()

Returns the earliest run time of all the jobs stored in this job store, or None if there are no active jobs.

Return type:

datetime.datetime

lookup_job(job_id)

Returns a specific job, or None if it isn’t found..

The job store is responsible for setting the scheduler and jobstore attributes of the returned job to point to the scheduler and itself, respectively.

Parameters:

job_id (str|unicode) – identifier of the job

Return type:

Job

remove_all_jobs()

Removes all jobs from this store.

remove_job(job_id)

Removes the given job from this store.

Parameters:

job_id (str|unicode) – identifier of the job

Raises:

JobLookupError – if the job does not exist

shutdown()

Frees any resources still bound to this job store.

start(scheduler, alias)

Called by the scheduler when the scheduler is being started or when the job store is being added to an already running scheduler.

Parameters:
update_job(job)

Replaces the job in the store with the given newer version.

Parameters:

job (Job) – the job to update

Raises:

JobLookupError – if the job does not exist

Introduction

MongoDBJobStore stores jobs in a MongoDB database.

External dependencies

pymongo

Example

examples/jobstores/mongodb.py (view online).