Skip to content

Glossary

TermDefinition
BackendA server implementation of the OJS specification that stores and manages jobs. Examples: ojs-backend-redis, ojs-backend-postgres.
ClientAn SDK component that produces jobs. The client enqueues jobs by sending them to the backend via HTTP or gRPC.
HandlerA function registered by a worker to process a specific job type.
JobA unit of work described by a job envelope. Contains a type, arguments, and metadata.
Job EnvelopeThe complete data structure representing a job, including all required and optional fields.
MiddlewareA composable function that wraps enqueue or execution logic, enabling cross-cutting concerns.
QueueA named channel that holds jobs waiting to be processed.
WorkerAn SDK component that consumes and processes jobs from one or more queues.
StateDefinition
scheduledJob is waiting for its scheduled_at time to arrive.
availableJob is ready to be fetched by a worker.
pendingJob has been claimed by a worker but processing has not started (transitional).
activeJob is currently being processed by a worker.
completedJob handler returned success. Terminal state.
retryableJob handler failed and the job is waiting for retry.
cancelledJob was cancelled before completion. Terminal state.
discardedJob exhausted retries and was discarded. Terminal state.
TermDefinition
At-least-onceDelivery guarantee ensuring every job is processed at least once. May result in duplicates.
Dead letter queue (DLQ)Storage for jobs that have permanently failed, available for inspection and manual retry.
IdempotencyProperty of a handler where processing the same job multiple times produces the same result.
ReplayRe-enqueuing a dead letter job for another processing attempt.
Visibility timeoutTime a fetched job is reserved for a worker before becoming available again.
TermDefinition
Cron jobA recurring job defined by a cron expression that triggers on a schedule.
Delayed jobA job with a future scheduled_at time, promoted to available when the time arrives.
Overlap policyStrategy for handling a cron trigger when the previous instance is still running.
TermDefinition
HeartbeatPeriodic signal from a worker to the backend indicating it is alive and reporting active jobs.
Grace periodTime allowed for in-flight jobs to complete during shutdown before forced termination.
Quiet modeWorker state where it stops fetching new jobs but continues processing in-flight jobs.
TermDefinition
ChainSequential workflow: each step runs after the previous completes.
GroupParallel workflow: all steps run concurrently, completing when all finish.
BatchParallel workflow with callbacks: steps run concurrently, a callback fires on completion.
TermDefinition
BackpressureMechanism for handling producer overload when queues approach capacity.
CodecAn encode/decode function pair for transforming job payloads (encryption, compression).
Conformance levelA tier (0–4) indicating which specification features a backend implements.
ExtensionAn optional specification module that adds functionality beyond the core (retry, workflows, etc.).
Rate limitingControls on how fast jobs are processed, protecting downstream services.
Unique jobA job with deduplication constraints preventing duplicate processing.
TermDefinition
Job argsAn array of values passed to the job handler. OJS uses args (array), not payload (object).
MetaA key-value map for arbitrary metadata attached to a job (trace context, tenant ID, etc.).
UUIDv7Time-sortable UUID format used for job IDs, providing natural chronological ordering.