Skip to content

Comparisons ​

Batch enqueue and batches ​

Batch enqueueBatches
EditionCorePro
PurposeStore many jobs in one callRun callbacks when a group of jobs finishes
APIenqueue_many in every SDK, POST /api/v1/sdk/jobs/batch (1 to 500 jobs)JoobQPro::Batch (on_complete, on_success, on_failure), Crystal only
AfterwardsThe jobs are independentThe batch tracks its members' outcomes

See Batch enqueue and batches.

Unique-job modes ​

ModeEditionDuplicate refused whileFrees on
while_lockedCorethe TTL runsthe TTL (unique_ttl_ms, default 1 h)
until_executingProthe job waits to be claimedthe claim by a worker
until_executedProthe job waits or runsits successful completion (a dead job keeps the lock until the TTL)

See Unique jobs.

Queue throttling and rate limiting ​

Queue throttlingRate limiting
EditionCorePro
Applies toA queue: claims of its tasksAny key your code names
Who calls itThe server, when a worker pollsYour code, rate_limit(key, limit, period_ms)
Where it is setThe queue's JoobQ configuration ({limit, period})Each call
EffectAt most one claim per period / limit; a worker just gets fewer tasksAn answer {allowed, retry_after_ms}; nothing is delayed for you

See Queue throttling and controls and Rate limiting.

Job schedules and workflow schedules ​

See Schedules: job schedules (Core) enqueue a job on a queue and are fired by the schedule runner; workflow schedules (Pro) start workflow runs and are fired by the engine's scheduler.

JoobQ Core is MIT licensed. JoobQ Pro needs a licence key.