Class: JobsDashboard::ServerMiddleware
- Inherits:
-
Object
- Object
- JobsDashboard::ServerMiddleware
- Includes:
- Storage
- Defined in:
- lib/jobs_dashboard/server_middleware.rb
Instance Method Summary collapse
-
#call(worker, msg, queue) ⇒ Object
Uses sidekiq’s internal jid as id Store worker status in DB.
-
#initialize(opts = {}) ⇒ ServerMiddleware
constructor
Options can be send in sidekiq.rb initializer.
Constructor Details
#initialize(opts = {}) ⇒ ServerMiddleware
Options can be send in sidekiq.rb initializer
10 11 |
# File 'lib/jobs_dashboard/server_middleware.rb', line 10 def initialize(opts = {}) end |
Instance Method Details
#call(worker, msg, queue) ⇒ Object
Uses sidekiq’s internal jid as id Store worker status in DB
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jobs_dashboard/server_middleware.rb', line 18 def call(worker, msg, queue) # Determine the actual job class # Bypass if attributes skip is set if (worker)[:skip] yield return end update_job_status worker.jid, 'working' yield update_job_status worker.jid, 'complete' #rescue Worker::Stopped # update_job_status worker.jid, 'stopped' rescue SystemExit, Interrupt update_job_status worker.jid, 'interrupted' raise rescue Exception => e status = :failed update_job_status worker.jid, 'failed' store_for_id(worker.jid, { error_message: e., backtrace: e.backtrace }) raise end |