Class: Que::Web
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- Que::Web
- Defined in:
- lib/que/web.rb
Defined Under Namespace
Modules: Viewmodels Classes: Pager
Constant Summary collapse
- PAGE_SIZE =
10- FLASH_KEY =
'que.web.flash'.freeze
- SQL =
{ :dashboard_stats => %{ SELECT count(*) AS total, count(locks.job_id) AS running, coalesce(sum((error_count > 0 AND locks.job_id IS NULL)::int), 0) AS failing, coalesce(sum((error_count = 0 AND locks.job_id IS NULL)::int), 0) AS scheduled FROM que_jobs LEFT JOIN ( SELECT (classid::bigint << 32) + objid::bigint AS job_id FROM pg_locks WHERE locktype = 'advisory' ) locks USING (job_id) }.freeze, :failing_jobs => %{ SELECT que_jobs.* FROM que_jobs LEFT JOIN ( SELECT (classid::bigint << 32) + objid::bigint AS job_id FROM pg_locks WHERE locktype = 'advisory' ) locks USING (job_id) WHERE locks.job_id IS NULL AND error_count > 0 ORDER BY run_at LIMIT $1::int OFFSET $2::int }.freeze, :scheduled_jobs => %{ SELECT que_jobs.* FROM que_jobs LEFT JOIN ( SELECT (classid::bigint << 32) + objid::bigint AS job_id FROM pg_locks WHERE locktype = 'advisory' ) locks USING (job_id) WHERE locks.job_id IS NULL AND error_count = 0 ORDER BY run_at LIMIT $1::int OFFSET $2::int }.freeze, :delete_job => %{ DELETE FROM que_jobs WHERE job_id = $1::bigint }.freeze, :reschedule_job => %{ UPDATE que_jobs SET run_at = $2::timestamptz WHERE job_id = $1::bigint }.freeze, :fetch_job => %{ SELECT * FROM que_jobs WHERE job_id = $1::bigint LIMIT 1 }.freeze, }.freeze
Instance Method Summary collapse
Instance Method Details
#get_pager(record_count) ⇒ Object
83 84 85 86 |
# File 'lib/que/web.rb', line 83 def get_pager(record_count) page = (params[:page] || 1).to_i Pager.new(page, PAGE_SIZE, record_count) end |