Class: Snails::QueuePruneJob

Inherits:
ActiveJob::Base show all
Defined in:
runtime/snails/queue_prune_job.rbs,
runtime/snails/queue_prune_job.rb

Constant Summary collapse

RETENTION =

How long finished rows and ledger occurrences are kept.

7.days
PRUNE_BATCH_SIZE =

The most rows one delete removes. A pass repeats while a full batch comes back, so a million-row backlog never holds one write lock for its whole drain.

1000

Class Method Summary collapse

  • .perform(data) ⇒ void

    one prune run: both tables share the window, so a queue and its ledger never disagree about what is old.

Methods inherited from ActiveJob::Base

job_name

Class Method Details

.perform(data) ⇒ void

one prune run: both tables share the window, so a queue and its ledger never disagree about what is old. Each table repeats its bounded delete until a short batch says the backlog is gone. Carries no payload (the beat passes nil).

Parameters:

  • data (Object, nil) —

    unused — a recurring beat carries none



27
# File 'runtime/snails/queue_prune_job.rb', line 27

def self.perform: (untyped? data) -> void