Module: Marj::MissionControl

Includes:
MissionControl::Jobs::Adapter
Defined in:
lib/marj/mission_control.rb

Instance Method Summary collapse

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

Returns:

  • (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

Returns:

  • (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

#queuesObject



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_statusesObject



36
37
38
# File 'lib/marj/mission_control.rb', line 36

def supported_statuses
  i[pending failed scheduled]
end

#workersObject



48
49
50
# File 'lib/marj/mission_control.rb', line 48

def workers
  raise 'not supported: workers'
end