Class: SolidQueueTui::Data::QueuesQuery
- Inherits:
-
Object
- Object
- SolidQueueTui::Data::QueuesQuery
- Defined in:
- lib/solid_queue_tui/data/queues_query.rb
Defined Under Namespace
Classes: QueueInfo
Class Method Summary collapse
Class Method Details
.fetch ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/solid_queue_tui/data/queues_query.rb', line 11 def self.fetch conn = ActiveRecord::Base.connection queue_sizes = conn.select_rows( "SELECT queue_name, COUNT(*) FROM solid_queue_ready_executions GROUP BY queue_name ORDER BY queue_name" ).to_h { |name, count| [name, count.to_i] } all_queues = conn.select_values( "SELECT DISTINCT queue_name FROM solid_queue_jobs WHERE queue_name IS NOT NULL ORDER BY queue_name" ) paused = conn.select_values("SELECT queue_name FROM solid_queue_pauses") all_queues.map do |name| QueueInfo.new( name: name, size: queue_sizes[name] || 0, paused: paused.include?(name) ) end rescue => e [] end |