apscheduler.jobstores.memory

class apscheduler.jobstores.memory.MemoryJobStore

Bases: BaseJobStore

Stores jobs in an array in RAM. Provides no persistence support.

Plugin alias: memory

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.

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.memory.MemoryJobStore

Bases: BaseJobStore

Stores jobs in an array in RAM. Provides no persistence support.

Plugin alias: memory

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.

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

MemoryJobStore stores jobs in memory as-is, without serializing them. This allows you to schedule callables that are unreachable globally and use job non-serializable job arguments.

External dependencies

none

Example

examples/schedulers/blocking.py (view online).

Caution

Unlike with other job stores, changes made to any mutable job arguments persist across job invocations. You can use this to your advantage, however.