Module: Que::Scheduler::Audit

Defined in:
lib/que/scheduler/audit.rb

Constant Summary collapse

TABLE_NAME =
"que_scheduler_audit"
ENQUEUED_TABLE_NAME =
"que_scheduler_audit_enqueued"
INSERT_AUDIT =
%{
  INSERT INTO #{TABLE_NAME} (scheduler_job_id, executed_at)
  VALUES ($1::bigint, $2::timestamptz)
  RETURNING *
}.freeze
INSERT_AUDIT_ENQUEUED =
%{
  INSERT INTO #{ENQUEUED_TABLE_NAME}
  (scheduler_job_id, job_class, queue, priority, args, job_id, run_at)
  VALUES (
    $1::bigint, $2::varchar, $3::varchar,
    $4::integer, $5::jsonb, $6::bigint, $7::timestamptz
  )
  RETURNING *
}.freeze

Class Method Summary collapse

Class Method Details

.append(scheduler_job_id, executed_at, enqueued_jobs) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/que/scheduler/audit.rb', line 26

def append(scheduler_job_id, executed_at, enqueued_jobs)
  ::Que::Scheduler::VersionSupport.execute(INSERT_AUDIT, [scheduler_job_id, executed_at])
  enqueued_jobs.each do |j|
    inserted = ::Que::Scheduler::VersionSupport.execute(
      INSERT_AUDIT_ENQUEUED,
      [scheduler_job_id] +
        j.values_at(:job_class, :queue, :priority, :args, :job_id, :run_at)
    )
    raise "Cannot save audit row #{scheduler_job_id} #{executed_at} #{j}" if inserted.empty?
  end
end