Class: SolidQueueTui::Data::FailedQuery
- Inherits:
-
Object
- Object
- SolidQueueTui::Data::FailedQuery
- Defined in:
- lib/solid_queue_tui/data/failed_query.rb
Defined Under Namespace
Classes: FailedJob
Class Method Summary collapse
- .count(filter: nil, queue: nil) ⇒ Object
- .fetch(filter: nil, queue: nil, limit: 100, offset: 0) ⇒ Object
- .fetch_one(id) ⇒ Object
Class Method Details
.count(filter: nil, queue: nil) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/solid_queue_tui/data/failed_query.rb', line 25 def self.count(filter: nil, queue: nil) scope = SolidQueue::FailedExecution.joins(:job) scope = scope.merge(SolidQueue::Job.where("class_name LIKE ?", "%#{filter}%")) if filter.present? scope = scope.merge(SolidQueue::Job.where(queue_name: queue)) if queue.present? scope.count rescue => e Rails.logger.tagged("SQTUI") { Rails.logger.error("FailedQuery.count error: #{e.class}: #{e.message}") } if defined?(Rails) && Rails.logger 0 end |
.fetch(filter: nil, queue: nil, limit: 100, offset: 0) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/solid_queue_tui/data/failed_query.rb', line 13 def self.fetch(filter: nil, queue: nil, limit: 100, offset: 0) scope = SolidQueue::FailedExecution.joins(:job).includes(:job) scope = scope.merge(SolidQueue::Job.where("class_name LIKE ?", "%#{filter}%")) if filter.present? scope = scope.merge(SolidQueue::Job.where(queue_name: queue)) if queue.present? scope = scope.order(created_at: :desc).offset(offset).limit(limit) scope.map { |fe| build_failed_job(fe) } rescue => e Rails.logger.tagged("SQTUI") { Rails.logger.error("FailedQuery.fetch error: #{e.class}: #{e.message}") } if defined?(Rails) && Rails.logger [] end |
.fetch_one(id) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/solid_queue_tui/data/failed_query.rb', line 35 def self.fetch_one(id) fe = SolidQueue::FailedExecution.includes(:job).find_by(id: id) return nil unless fe build_failed_job(fe) rescue => e nil end |