ActiveJob::SolidQueue::Adapter
Inherits ActiveJob::Adapter < Reference < Object
Constructors
Instance methods
Claims up to limit due jobs from queues (priority DESC — higher
number runs first, verified against solid_queue 1.2.4 — then FIFO by
id, FOR UPDATE SKIP LOCKED). Returns job data hashes ready for
Base.deserialize, carrying provider_job_id (the row id).
Enqueue for recurring tasks: records task_key + run_at, dedups on (task_key, run_at) — the analog of RecurringExecution + unique index. The job itself is ready immediately (scheduled_at = now()): like solid_queue, the dispatcher enqueues AT the occurrence time, run_at records which occurrence this is.
Marks a performed job finished (the analog of ClaimedExecution#finished — the row stays for history).
Releases a claimed job without finishing it (perform_now raised an unhandled error): the row becomes claimable again.
Scheduler tick: enqueue every task's next occurrence (dedup makes it idempotent). Call periodically from a dispatcher fiber.
First n scheduled (unfinished, future) run times, earliest first — the scheduler ordering (scheduled_at ASC, priority ASC, id ASC).
Stored payload = the ActiveJob serialize hash (job_class .. timezone) minus volatile identity (job_id/enqueued_at/scheduled_at) — the same payload solid_queue keeps in its arguments column.