ruby on rails - Access and Delete Dead Jobs in Sidekiq -


i'm running sidekiq inside docker container in production , don't have access web ui. sidekiq workers appear have failed , need check whether have indeed failed , delete or retry them.

not hundred percent i'm seeing here having collected workers using workers = sidekiq::workers.new, i'm getting result in rails console leads me believe have dead jobs:

workers.each { |process_id, thread_id, work| puts "worker #{work}\n\n" }  worker {"queue"=>"default", "payload"=>{"retry"=>1, "queue"=>"default", "class"=>"peopleworker", "args"=>["<arg-1>", "55800c0161616600b5000000"], "jid"=>"08126d4162242a26825ce2d3", "enqueued_at"=>1436800316.1181111, "error_message"=>"error 503: query timed out", "failed_at"=>1436816149.1032495, "retry_count"=>0}, "run_at"=>1436870942}  worker {"queue"=>"default", "payload"=>{"retry"=>1, "queue"=>"default", "class"=>"peopleworker", "args"=>["<arg-1>", "55800c0161616600b5000000"], "jid"=>"16a68d843116702daad847d6", "enqueued_at"=>1436800316.2001767, "error_message"=>"error 503: query timed out", "failed_at"=>1436816221.2766316, "retry_count"=>0}, "run_at"=>1436874457}  worker {"queue"=>"default", "payload"=>{"retry"=>1, "queue"=>"default", "class"=>"peopleworker", "args"=>["<arg-1>", "55800c0161616600b5000000"], "jid"=>"999ed8c1bb43192fa9a5c8b1", "enqueued_at"=>1436800312.3595853, "error_message"=>"error 503: query timed out", "failed_at"=>1436816142.493408, "retry_count"=>0}, "run_at"=>1436868587}  worker {"queue"=>"default", "payload"=>{"retry"=>1, "queue"=>"default", "class"=>"peopleworker", "args"=>["<arg-1>", "55800c0161616600b5000000"], "jid"=>"91d2ece3dd75dd8a4c95baed", "enqueued_at"=>1436800316.4514835, "error_message"=>"error 503: query timed out", "failed_at"=>1436817504.064808, "retry_count"=>0}, "run_at"=>1436875742}  worker {"queue"=>"default", "payload"=>{"retry"=>1, "queue"=>"default", "class"=>"peopleworker", "args"=>["<arg-1>", "55800c0161616600b5000000"], "jid"=>"af620ff8406c126f8f2df89c", "enqueued_at"=>1436800315.562301, "error_message"=>"error 503: query timed out", "failed_at"=>1436816221.7349763, "retry_count"=>0}, "run_at"=>1436872039}  worker {"queue"=>"default", "payload"=>{"retry"=>1, "queue"=>"default", "class"=>"peopleworker", "args"=>["<arg-1>", "55800c0161616600b5000000"], "jid"=>"79601ece1f09a7721881bb0b", "enqueued_at"=>1436800316.3225756, "error_message"=>"error 500: gc overhead limit exceeded", "error_class"=>"tripod::errors::badsparqlrequest", "failed_at"=>1436817517.111997, "retry_count"=>0}, "run_at"=>1436876319}  => ["1cc9c3e7af3e:104", "1cc9c3e7af3e:117", "1cc9c3e7af3e:130", "1cc9c3e7af3e:150", "1cc9c3e7af3e:164", "1cc9c3e7af3e:191", "1cc9c3e7af3e:210", "1cc9c3e7af3e:224", "1cc9c3e7af3e:250", "1cc9c3e7af3e:263", "1cc9c3e7af3e:290", "1cc9c3e7af3e:311", "1cc9c3e7af3e:323", "1cc9c3e7af3e:350", "1cc9c3e7af3e:91"] 

according htop there 15 sidekiq processes running, curious what's happening here these results.

  1. am correct in understanding that, having hit exception during execution, these jobs in dead queue?
  2. that being case, should force retry of these jobs, or should deleted? have no reason think fail second time.

please read through sidekiq api, include sidekiq::retryset , sidekiq::deadset.

https://github.com/mperham/sidekiq/wiki/api#retries

jobs hitting exception go retryset can retried automatically.


Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -