The scheduler Reference Manual

This is the scheduler Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:50:33 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 scheduler

Extensible task scheduler.

Author

Daniel Kochmański <>

License

BSD-2-Clause

Dependencies
  • alexandria (system).
  • split-sequence (system).
  • local-time (system).
  • optima (system).
  • optima.ppcre (system).
Source

scheduler.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 scheduler/scheduler.asd

Source

scheduler.asd.

Parent Component

scheduler (system).

ASDF Systems

scheduler.


3.1.2 scheduler/scheduler.lisp

Source

scheduler.asd.

Parent Component

scheduler (system).

Packages
Public Interface
Internals

3.2 Static


3.2.1 scheduler/README.md

Source

scheduler.asd.

Parent Component

scheduler (system).


3.2.2 scheduler/LICENSE

Source

scheduler.asd.

Parent Component

scheduler (system).


4 Packages

Packages are listed by definition order.


4.1 scheduler-implementation

Source

scheduler.lisp.

Use List
  • alexandria.
  • common-lisp.
Public Interface
Internals

4.2 scheduler

Source

scheduler.lisp.

Public Interface

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Generic functions

Generic Function: create-scheduler-task (scheduler entry &key start-after &allow-other-keys)

Parse ENTRY and add the task it to SCHEDULER.

Package

scheduler.

Source

scheduler.lisp.

Methods
Method: create-scheduler-task ((scheduler in-memory-scheduler) (task task) &key &allow-other-keys)
Method: create-scheduler-task ((scheduler scheduler) (cron-entry-and-lambda cons) &key start-after &allow-other-keys)
Method: create-scheduler-task ((scheduler scheduler) (cron-entry string) &key start-after &allow-other-keys)
Generic Function: delete-scheduler-task (scheduler entry)

Delete the task designated by ENTRY in SCHEDULER.

Package

scheduler.

Source

scheduler.lisp.

Methods
Method: delete-scheduler-task ((scheduler in-memory-scheduler) (task task))
Generic Function: execute-task (task)
Package

scheduler-implementation.

Methods
Method: execute-task ((task lambda-task))
Source

scheduler.lisp.

Method: execute-task ((task task))
Source

scheduler.lisp.

Generic Reader: list-scheduler-tasks (scheduler)

Lists all tasks registered with SCHEDULER.

Package

scheduler.

Source

scheduler.lisp.

Methods
Reader Method: list-scheduler-tasks ((in-memory-scheduler in-memory-scheduler))

automatically generated reader method

Target Slot

tasks.

Generic Writer: (setf list-scheduler-tasks) (object)
Package

scheduler.

Methods
Writer Method: (setf list-scheduler-tasks) ((in-memory-scheduler in-memory-scheduler))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

tasks.

Generic Function: parse-entry (entry)

Parses entry to return two values: the time spec and command.

Package

scheduler-implementation.

Source

scheduler.lisp.

Methods
Method: parse-entry ((entry cron-entry))
Generic Function: read-scheduler-task (scheduler entry)

Find the task designated by ENTRY in SCHEDULER.

Package

scheduler.

Source

scheduler.lisp.

Methods
Method: read-scheduler-task ((scheduler scheduler) (task task))
Generic Function: start-scheduler (scheduler)

Start the scheduler.

Package

scheduler.

Source

scheduler.lisp.

Methods
Method: start-scheduler ((scheduler scheduler))
Generic Function: stop-scheduler (scheduler)

Stop the scheduler.

Package

scheduler.

Source

scheduler.lisp.

Methods
Method: stop-scheduler ((scheduler scheduler))
Generic Reader: task-command (object)
Package

scheduler-implementation.

Methods
Reader Method: task-command ((task task))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

command.

Generic Writer: (setf task-command) (object)
Package

scheduler-implementation.

Methods
Writer Method: (setf task-command) ((task task))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

command.

Generic Reader: task-last-execution (object)
Package

scheduler-implementation.

Methods
Reader Method: task-last-execution ((task task))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

last-execution.

Generic Writer: (setf task-last-execution) (object)
Package

scheduler-implementation.

Methods
Writer Method: (setf task-last-execution) ((task task))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

last-execution.

Generic Reader: task-next-execution (object)
Package

scheduler-implementation.

Methods
Reader Method: task-next-execution ((task task))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

next-execution.

Generic Writer: (setf task-next-execution) (object)
Package

scheduler-implementation.

Methods
Writer Method: (setf task-next-execution) ((task task))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

next-execution.

Generic Reader: task-source-entry (object)
Package

scheduler-implementation.

Methods
Reader Method: task-source-entry ((task task))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

source-entry.

Generic Writer: (setf task-source-entry) (object)
Package

scheduler-implementation.

Methods
Writer Method: (setf task-source-entry) ((task task))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

source-entry.

Generic Reader: task-time-specs (object)
Package

scheduler-implementation.

Methods
Reader Method: task-time-specs ((task task))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

time-specs.

Generic Writer: (setf task-time-specs) (object)
Package

scheduler-implementation.

Methods
Writer Method: (setf task-time-specs) ((task task))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

time-specs.

Generic Function: update-scheduler-task (scheduler entry &key cron-entry last-run start-at &allow-other-keys)

Update the task designated by ENTRY in SCHEDULER.

Package

scheduler.

Source

scheduler.lisp.

Methods
Method: update-scheduler-task ((scheduler scheduler) (task task) &key cron-entry last-run start-at)

5.1.2 Standalone methods

Method: initialize-instance :after ((task task) &key time-specs start-after)
Source

scheduler.lisp.

Method: initialize-instance :after ((task lambda-task) &key)
Source

scheduler.lisp.


5.1.3 Classes

Class: cron-entry
Package

scheduler-implementation.

Source

scheduler.lisp.

Direct superclasses

scheduler-entry.

Direct methods
Direct slots
Slot: string
Package

common-lisp.

Initargs

:string

Readers

cron-entry-string.

Writers

This slot is read-only.

Class: in-memory-scheduler
Package

scheduler.

Source

scheduler.lisp.

Direct superclasses

scheduler.

Direct methods
Direct slots
Slot: tasks
Package

scheduler-implementation.

Readers

list-scheduler-tasks.

Writers

(setf list-scheduler-tasks).

Class: scheduler

Thread-safe abstract scheduler class.

Package

scheduler.

Source

scheduler.lisp.

Direct subclasses

in-memory-scheduler.

Direct methods
Direct slots
Slot: %state
Package

scheduler-implementation.

Initform

:stopped

Readers

scheduler-state.

Writers

(setf scheduler-state).

Class: scheduler-entry
Package

scheduler-implementation.

Source

scheduler.lisp.

Direct subclasses

cron-entry.

Class: task
Package

scheduler-implementation.

Source

scheduler.lisp.

Direct subclasses

lambda-task.

Direct methods
Direct slots
Slot: time-specs
Initargs

:time-specs

Readers

task-time-specs.

Writers

(setf task-time-specs).

Slot: command
Initargs

:command

Readers

task-command.

Writers

(setf task-command).

Slot: last-execution
Initargs

:last-execution

Readers

task-last-execution.

Writers

(setf task-last-execution).

Slot: next-execution
Initargs

:next-execution

Readers

task-next-execution.

Writers

(setf task-next-execution).

Slot: source-entry
Initargs

:source-entry

Readers

task-source-entry.

Writers

(setf task-source-entry).


5.2 Internals


5.2.1 Macros

Macro: ^if (test if-true if-false)
Package

scheduler-implementation.

Source

scheduler.lisp.

Macro: db (lambda-list expression &body body)
Package

scheduler-implementation.

Source

scheduler.lisp.

Macro: mvb (lambda-list expression &body body)
Package

scheduler-implementation.

Source

scheduler.lisp.

Macro: ss (&rest args)
Package

scheduler-implementation.

Source

scheduler.lisp.


5.2.2 Ordinary functions

Function: %parse-cron-time-1/no-step (spec range)
Package

scheduler-implementation.

Source

scheduler.lisp.

Function: %parse-cron-time-1/step (spec range step)
Package

scheduler-implementation.

Source

scheduler.lisp.

Function: compute-next-occurance (spec &optional time)
Package

scheduler-implementation.

Source

scheduler.lisp.

Function: parse-cron-entry (spec)
Package

scheduler-implementation.

Source

scheduler.lisp.

Function: parse-cron-spec (line)
Package

scheduler-implementation.

Source

scheduler.lisp.

Function: parse-cron-time-1 (spec range)
Package

scheduler-implementation.

Source

scheduler.lisp.

Function: seed-random-state (seed)

Returns a new random state seeded with ‘object’.

Package

scheduler-implementation.

Source

scheduler.lisp.


5.2.3 Generic functions

Generic Reader: cron-entry-string (object)
Package

scheduler-implementation.

Methods
Reader Method: cron-entry-string ((cron-entry cron-entry))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

string.

Generic Reader: scheduler-state (object)
Package

scheduler-implementation.

Methods
Reader Method: scheduler-state ((scheduler scheduler))

automatically generated reader method

Source

scheduler.lisp.

Target Slot

%state.

Generic Writer: (setf scheduler-state) (object)
Package

scheduler-implementation.

Methods
Writer Method: (setf scheduler-state) ((scheduler scheduler))

automatically generated writer method

Source

scheduler.lisp.

Target Slot

%state.


5.2.4 Classes

Class: lambda-task
Package

scheduler-implementation.

Source

scheduler.lisp.

Direct superclasses

task.

Direct methods

Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   ^  
C   D   E   F   G   I   L   M   P   R   S   T   U  
Index Entry  Section

%
%parse-cron-time-1/no-step: Private ordinary functions
%parse-cron-time-1/step: Private ordinary functions

(
(setf list-scheduler-tasks): Public generic functions
(setf list-scheduler-tasks): Public generic functions
(setf scheduler-state): Private generic functions
(setf scheduler-state): Private generic functions
(setf task-command): Public generic functions
(setf task-command): Public generic functions
(setf task-last-execution): Public generic functions
(setf task-last-execution): Public generic functions
(setf task-next-execution): Public generic functions
(setf task-next-execution): Public generic functions
(setf task-source-entry): Public generic functions
(setf task-source-entry): Public generic functions
(setf task-time-specs): Public generic functions
(setf task-time-specs): Public generic functions

^
^if: Private macros

C
compute-next-occurance: Private ordinary functions
create-scheduler-task: Public generic functions
create-scheduler-task: Public generic functions
create-scheduler-task: Public generic functions
create-scheduler-task: Public generic functions
cron-entry-string: Private generic functions
cron-entry-string: Private generic functions

D
db: Private macros
delete-scheduler-task: Public generic functions
delete-scheduler-task: Public generic functions

E
execute-task: Public generic functions
execute-task: Public generic functions
execute-task: Public generic functions

F
Function, %parse-cron-time-1/no-step: Private ordinary functions
Function, %parse-cron-time-1/step: Private ordinary functions
Function, compute-next-occurance: Private ordinary functions
Function, parse-cron-entry: Private ordinary functions
Function, parse-cron-spec: Private ordinary functions
Function, parse-cron-time-1: Private ordinary functions
Function, seed-random-state: Private ordinary functions

G
Generic Function, (setf list-scheduler-tasks): Public generic functions
Generic Function, (setf scheduler-state): Private generic functions
Generic Function, (setf task-command): Public generic functions
Generic Function, (setf task-last-execution): Public generic functions
Generic Function, (setf task-next-execution): Public generic functions
Generic Function, (setf task-source-entry): Public generic functions
Generic Function, (setf task-time-specs): Public generic functions
Generic Function, create-scheduler-task: Public generic functions
Generic Function, cron-entry-string: Private generic functions
Generic Function, delete-scheduler-task: Public generic functions
Generic Function, execute-task: Public generic functions
Generic Function, list-scheduler-tasks: Public generic functions
Generic Function, parse-entry: Public generic functions
Generic Function, read-scheduler-task: Public generic functions
Generic Function, scheduler-state: Private generic functions
Generic Function, start-scheduler: Public generic functions
Generic Function, stop-scheduler: Public generic functions
Generic Function, task-command: Public generic functions
Generic Function, task-last-execution: Public generic functions
Generic Function, task-next-execution: Public generic functions
Generic Function, task-source-entry: Public generic functions
Generic Function, task-time-specs: Public generic functions
Generic Function, update-scheduler-task: Public generic functions

I
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods

L
list-scheduler-tasks: Public generic functions
list-scheduler-tasks: Public generic functions

M
Macro, db: Private macros
Macro, mvb: Private macros
Macro, ss: Private macros
Macro, ^if: Private macros
Method, (setf list-scheduler-tasks): Public generic functions
Method, (setf scheduler-state): Private generic functions
Method, (setf task-command): Public generic functions
Method, (setf task-last-execution): Public generic functions
Method, (setf task-next-execution): Public generic functions
Method, (setf task-source-entry): Public generic functions
Method, (setf task-time-specs): Public generic functions
Method, create-scheduler-task: Public generic functions
Method, create-scheduler-task: Public generic functions
Method, create-scheduler-task: Public generic functions
Method, cron-entry-string: Private generic functions
Method, delete-scheduler-task: Public generic functions
Method, execute-task: Public generic functions
Method, execute-task: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, list-scheduler-tasks: Public generic functions
Method, parse-entry: Public generic functions
Method, read-scheduler-task: Public generic functions
Method, scheduler-state: Private generic functions
Method, start-scheduler: Public generic functions
Method, stop-scheduler: Public generic functions
Method, task-command: Public generic functions
Method, task-last-execution: Public generic functions
Method, task-next-execution: Public generic functions
Method, task-source-entry: Public generic functions
Method, task-time-specs: Public generic functions
Method, update-scheduler-task: Public generic functions
mvb: Private macros

P
parse-cron-entry: Private ordinary functions
parse-cron-spec: Private ordinary functions
parse-cron-time-1: Private ordinary functions
parse-entry: Public generic functions
parse-entry: Public generic functions

R
read-scheduler-task: Public generic functions
read-scheduler-task: Public generic functions

S
scheduler-state: Private generic functions
scheduler-state: Private generic functions
seed-random-state: Private ordinary functions
ss: Private macros
start-scheduler: Public generic functions
start-scheduler: Public generic functions
stop-scheduler: Public generic functions
stop-scheduler: Public generic functions

T
task-command: Public generic functions
task-command: Public generic functions
task-last-execution: Public generic functions
task-last-execution: Public generic functions
task-next-execution: Public generic functions
task-next-execution: Public generic functions
task-source-entry: Public generic functions
task-source-entry: Public generic functions
task-time-specs: Public generic functions
task-time-specs: Public generic functions

U
update-scheduler-task: Public generic functions
update-scheduler-task: Public generic functions