Method: EQ::Queueing::Backends::Sequel#push

Defined in:
lib/eq-queueing/backends/sequel.rb

#push(eq_job) ⇒ Fixnum

Returns id of the job.

Parameters:

Returns:

  • id of the job



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/eq-queueing/backends/sequel.rb', line 24

def push eq_job
  job = {queue: eq_job.queue}
  job[:payload] = Marshal.dump(eq_job.payload).to_sequel_blob unless eq_job.payload.nil?
  if eq_job.unique? && jobs.where(job).count > 0
    false
  else
    job[:created_at] = Time.now
    jobs.insert job
  end
rescue ::Sequel::DatabaseError => e
  retry if on_error e
end