Module: Marj::MissionControl
- Includes:
- MissionControl::Jobs::Adapter
- Defined in:
- lib/marj/mission_control.rb
Instance Method Summary collapse
- #clear_queue(queue_name) ⇒ Object
- #discard_all_jobs(jobs_relation) ⇒ Object
- #discard_job(job, _jobs_relation) ⇒ Object
- #exposes_workers? ⇒ Boolean
- #fetch_jobs(jobs_relation) ⇒ Object
- #find_job(job_id, jobs_relation) ⇒ Object
- #find_worker(_worker_id) ⇒ Object
- #jobs_count(jobs_relation) ⇒ Object
- #pause_queue(_queue_name) ⇒ Object
- #queue_paused?(_queue_name) ⇒ Boolean
- #queue_size(queue_name) ⇒ Object
- #queues ⇒ Object
- #resume_queue(_queue_name) ⇒ Object
- #retry_all_jobs(jobs_relation) ⇒ Object
- #retry_job(job, _jobs_relation) ⇒ Object
- #supported_filters(_jobs_relation) ⇒ Object
- #supported_statuses ⇒ Object
- #workers ⇒ Object
Instance Method Details
#clear_queue(queue_name) ⇒ Object
20 21 22 |
# File 'lib/marj/mission_control.rb', line 20 def clear_queue(queue_name) Marj::Record.where(queue_name: queue_name).delete_all end |
#discard_all_jobs(jobs_relation) ⇒ Object
72 73 74 |
# File 'lib/marj/mission_control.rb', line 72 def discard_all_jobs(jobs_relation) ar_relation(jobs_relation).map { |record| discard(record.to_job) } end |
#discard_job(job, _jobs_relation) ⇒ Object
76 77 78 |
# File 'lib/marj/mission_control.rb', line 76 def discard_job(job, _jobs_relation) discard(Marj::Record.find(job.job_id).to_job) end |
#exposes_workers? ⇒ Boolean
44 45 46 |
# File 'lib/marj/mission_control.rb', line 44 def exposes_workers? false end |
#fetch_jobs(jobs_relation) ⇒ Object
60 61 62 |
# File 'lib/marj/mission_control.rb', line 60 def fetch_jobs(jobs_relation) ar_relation(jobs_relation).each_with_index.map { |record, index| to_job(record, jobs_relation, index) } end |
#find_job(job_id, jobs_relation) ⇒ Object
80 81 82 |
# File 'lib/marj/mission_control.rb', line 80 def find_job(job_id, jobs_relation) to_job(record_class.find_by(job_id: job_id), jobs_relation) end |
#find_worker(_worker_id) ⇒ Object
52 53 54 |
# File 'lib/marj/mission_control.rb', line 52 def find_worker(_worker_id) raise 'not supported: find workers' end |
#jobs_count(jobs_relation) ⇒ Object
56 57 58 |
# File 'lib/marj/mission_control.rb', line 56 def jobs_count(jobs_relation) ar_relation(jobs_relation).count end |
#pause_queue(_queue_name) ⇒ Object
24 25 26 |
# File 'lib/marj/mission_control.rb', line 24 def pause_queue(_queue_name) raise 'not supported: pause queue' end |
#queue_paused?(_queue_name) ⇒ Boolean
32 33 34 |
# File 'lib/marj/mission_control.rb', line 32 def queue_paused?(_queue_name) false end |
#queue_size(queue_name) ⇒ Object
16 17 18 |
# File 'lib/marj/mission_control.rb', line 16 def queue_size(queue_name) record_class.where(queue_name: queue_name).count end |
#queues ⇒ Object
12 13 14 |
# File 'lib/marj/mission_control.rb', line 12 def queues record_class.group(:queue_name).count(:queue_name).map { |k, v| { name: k, size: v, active: true } } end |
#resume_queue(_queue_name) ⇒ Object
28 29 30 |
# File 'lib/marj/mission_control.rb', line 28 def resume_queue(_queue_name) raise 'not supported: resume queue' end |
#retry_all_jobs(jobs_relation) ⇒ Object
64 65 66 |
# File 'lib/marj/mission_control.rb', line 64 def retry_all_jobs(jobs_relation) ar_relation(jobs_relation).map { |record| record.to_job.perform_now } end |
#retry_job(job, _jobs_relation) ⇒ Object
68 69 70 |
# File 'lib/marj/mission_control.rb', line 68 def retry_job(job, _jobs_relation) Marj::Record.find(job.job_id).to_job.perform_now end |
#supported_filters(_jobs_relation) ⇒ Object
40 41 42 |
# File 'lib/marj/mission_control.rb', line 40 def supported_filters(_jobs_relation) i[queue_name job_class_name] end |
#supported_statuses ⇒ Object
36 37 38 |
# File 'lib/marj/mission_control.rb', line 36 def supported_statuses i[pending failed scheduled] end |
#workers ⇒ Object
48 49 50 |
# File 'lib/marj/mission_control.rb', line 48 def workers raise 'not supported: workers' end |