Module: HireFire::Macro::Que

Extended by:
Que
Included in:
Que
Defined in:
lib/hirefire/macro/que.rb

Constant Summary collapse

QUERY =
%{
SELECT count(*) AS total
FROM que_jobs WHERE run_at < now() }.freeze

Instance Method Summary collapse

Instance Method Details

#queue(queue = nil) ⇒ Integer

Queries the PostgreSQL database through Que in order to count the amount of jobs in the specified queue.

Examples:

Queue Macro Usage

HireFire::Macro::Que.queue # counts all queues.
HireFire::Macro::Que.queue("email") # counts the `email` queue.

Parameters:

  • queue (String) (defaults to: nil)

    the queue name to count. (default: nil # gets all queues)

Returns:

  • (Integer)

    the number of jobs in the queue(s).



22
23
24
25
26
# File 'lib/hirefire/macro/que.rb', line 22

def queue(queue = nil)
  query = queue ? "#{QUERY} AND queue = '#{queue}'" : QUERY
  results = ::Que.execute(query).first
  results["total"].to_i
end