Method: Cyclop::Job.failed

Defined in:
lib/cyclop/job.rb

.failed(opts = {}) ⇒ Object

Get failed jobs from any ‘opts`



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/cyclop/job.rb', line 90

def self.failed(opts={})
  selector = {}
  # Failed or dead jobs only
  selector["$or"] = [
    {failed: true}, 
    {"$where" => "this.attempts > this.retries"},
  ]
  # Filter by queue if present
  selector[:queue] = {"$in" => opts[:queues]} if opts[:queues] && !opts[:queues].empty?

  options = {}
  options[:skip] = opts[:skip] if opts[:skip]
  options[:limit] = opts[:limit] if opts[:limit]

  collection.find(selector, options).collect{|attrs| new attrs}
end