-
-
Save kinkou/f1e5f48a6e92493192c114f2ffb2435b to your computer and use it in GitHub Desktop.
Notes for sidekiq_search development
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
What kinds of job groupings there are: | |
1. Enqueued jobs - jobs in queues (default, critical, etc) | |
First need to get a queue: Sidekiq::Queue.all.each { |queue| … } | |
To get a concrete queue: Sidekiq::Queue.new('default') | |
To get all jobs of a queue: queue.to_a => returns array of Sidekiq::JobRecord | |
> default_queue = Sidekiq::Queue.new('default') | |
> ls default_queue | |
Sidekiq::Queue#methods: as_json clear each find_job latency name paused? size | |
> job_object = default_queue.to_a.first | |
> job_object | |
#<Sidekiq::JobRecord:0x00000001085add00 | |
@args=nil, | |
@item= | |
{"retry"=>1, | |
"queue"=>"default", | |
"args"=>["foo", {"foo"=>"bar"}], | |
"class"=>"DefaultJob", | |
"jid"=>"2b29796e7197e29e36eb9714", | |
"created_at"=>1711239667.986062, | |
"enqueued_at"=>1711239667.986293}, | |
@queue="default", | |
@value= | |
"{\"retry\":1,\"queue\":\"default\",\"args\":[\"foo\",{\"foo\":\"bar\"}],\"class\":\"DefaultJob\", | |
\"jid\":\"2b29796e7197e29e36eb9714\",\"created_at\":1711239667.986062,\"enqueued_at\":1711239667.986293}"> | |
> ls job_object | |
Sidekiq::JobRecord#methods: | |
[] args bid created_at delete display_args display_class enqueued_at error_backtrace item jid klass | |
latency parse queue tags value | |
instance variables: @args @item @queue @value | |
2. Scheduled | |
> scheduled_set = Sidekiq::ScheduledSet.new | |
> ls scheduled_set | |
Sidekiq::JobSet#methods: delete delete_by_jid delete_by_value each fetch find_job schedule | |
Sidekiq::SortedSet#methods: as_json clear name scan size | |
> scheduled_job = scheduled_set.to_a.first | |
#<Sidekiq::SortedEntry:0x0000000108507270 | |
@args=nil, | |
@item={"retry"=>1, "queue"=>"default", "class"=>"DefaultJob", "args"=>[1, 2], "jid"=>"a6cbfb82ac86b63346f0d4bc", | |
"created_at"=>1711246231.848191}, | |
@parent=#<Sidekiq::ScheduledSet:0x00000001089ad8d8 @_size=0, @name="schedule">, | |
@queue="default", | |
@score=1711246531.848046, | |
@value="{\"retry\":1,\"queue\":\"default\",\"class\":\"DefaultJob\",\"args\":[1,2], | |
\"jid\":\"a6cbfb82ac86b63346f0d4bc\",\"created_at\":1711246231.848191}"> | |
> ls scheduled_job | |
Sidekiq::SortedEntry#methods: add_to_queue at delete error? kill parent reschedule retry score | |
Sidekiq::JobRecord#methods: | |
[] args bid created_at display_args display_class enqueued_at error_backtrace item jid klass latency | |
parse queue tags value | |
3. Retries | |
> retry_set = Sidekiq::RetrySet.new | |
> ls retry_set | |
Sidekiq::RetrySet#methods: kill_all retry_all | |
Sidekiq::JobSet#methods: delete delete_by_jid delete_by_value each fetch find_job schedule | |
Sidekiq::SortedSet#methods: as_json clear name scan size | |
> retry_job = retry_set.to_a.first | |
<Sidekiq::SortedEntry:0x0000000108026558 | |
@args=nil, | |
@item= | |
{"retry"=>1, | |
"queue"=>"default", | |
"class"=>"DefaultJob", | |
"args"=>[1, 2], | |
"jid"=>"a6cbfb82ac86b63346f0d4bc", | |
"created_at"=>1711246231.848191, | |
"enqueued_at"=>1711303458.043564, | |
"error_message"=>"wrong number of arguments (given 2, expected 0)", | |
"error_class"=>"ArgumentError", | |
"failed_at"=>1711303458.045075, | |
"retry_count"=>0}, | |
@parent=#<Sidekiq::RetrySet:0x0000000107a58fb8 @_size=1, @name="retry">, | |
@queue="default", | |
@score=1711303475.045152, | |
@value= | |
"{\"retry\":1,\"queue\":\"default\",\"class\":\"DefaultJob\",\"args\":[1,2],\"jid\":\"a6cbfb82ac86b63346f0d4bc\", | |
\"created_at\":1711246231.848191,\"enqueued_at\":1711303458.043564,\"error_message\":\"wrong number of arguments | |
(given 2, expected 0)\",\"error_class\":\"ArgumentError\",\"failed_at\":1711303458.045075,\"retry_count\":0}"> | |
ls retry_job | |
Sidekiq::SortedEntry#methods: add_to_queue at delete error? kill parent reschedule retry score | |
Sidekiq::JobRecord#methods: | |
[] args bid created_at display_args display_class enqueued_at error_backtrace item jid klass latency | |
parse queue tags value | |
4. Dead | |
> dead_set = Sidekiq::DeadSet.new | |
#<Sidekiq::DeadSet:0x0000000104698700 @_size=0, @name="dead"> | |
> ls dead_set | |
Sidekiq::DeadSet#methods: kill retry_all | |
Sidekiq::JobSet#methods: delete delete_by_jid delete_by_value each fetch find_job schedule | |
Sidekiq::SortedSet#methods: as_json clear name scan size | |
> dead_job = dead_set.to_a.first | |
#<Sidekiq::SortedEntry:0x00000001046385d0 | |
@args=nil, | |
@item= | |
{"retry"=>1, | |
"queue"=>"default", | |
"class"=>"DefaultJob", | |
"args"=>[1, 2], | |
"jid"=>"a6cbfb82ac86b63346f0d4bc", | |
"created_at"=>1711246231.848191, | |
"enqueued_at"=>1711310158.025517, | |
"error_message"=>"wrong number of arguments (given 2, expected 0)", | |
"error_class"=>"ArgumentError", | |
"failed_at"=>1711303458.045075, | |
"retry_count"=>1, | |
"retried_at"=>1711310158.026992}, | |
@parent=#<Sidekiq::DeadSet:0x0000000104698700 @_size=0, @name="dead">, | |
@queue="default", | |
@score=1711310158.027395, | |
@value= | |
"{\"retry\":1,\"queue\":\"default\",\"class\":\"DefaultJob\",\"args\":[1,2],\"jid\":\"a6cbfb82ac86b63346f0d4bc\", | |
\"created_at\":1711246231.848191,\"enqueued_at\":1711310158.025517,\"error_message\":\"wrong number of arguments | |
(given 2, expected 0)\",\"error_class\":\"ArgumentError\",\"failed_at\":1711303458.045075,\"retry_count\":1, | |
\"retried_at\":1711310158.026992}"> | |
> ls dead_job | |
Sidekiq::SortedEntry#methods: add_to_queue at delete error? kill parent reschedule retry score | |
Sidekiq::JobRecord#methods: | |
[] args bid created_at display_args display_class enqueued_at error_backtrace item jid klass latency | |
parse queue tags value | |
5. Running (workers) | |
> running_set = Sidekiq::WorkSet.new | |
#<Sidekiq::WorkSet:0x0000000108022bd8> | |
> ls running_set | |
Sidekiq::WorkSet#methods: each size | |
> running_job = running_set.to_a.first | |
["host:52943:3e9049b30362", | |
"131j", | |
#<Sidekiq::Work:0x0000000107d74300 | |
@hsh= | |
{"queue"=>"default", | |
"payload"=> | |
"{\"retry\":0,\"queue\":\"default\",\"args\":[],\"class\":\"DefaultJob\", | |
\"jid\":\"aa97eece59aecd9875b1b08e\",\"created_at\":1711312487.234532, | |
\"enqueued_at\":1711312487.234657}", | |
"run_at"=>1711312487}, | |
@job=nil, | |
@process_id="host:52943:3e9049b30362", | |
@thread_id="131j">] | |
> running_job[2].job | |
#<Sidekiq::JobRecord:0x000000010876c4e8 | |
@args=nil, | |
@item= | |
{"retry"=>0, | |
"queue"=>"default", | |
"args"=>[], | |
"class"=>"DefaultJob", | |
"jid"=>"1dcd75b196cec06b13d3bb3f", | |
"created_at"=>1711318424.041814, | |
"enqueued_at"=>1711318424.041895}, | |
@queue="default", | |
@value= | |
"{\"retry\":0,\"queue\":\"default\",\"args\":[],\"class\":\"DefaultJob\", | |
\"jid\":\"1dcd75b196cec06b13d3bb3f\",\"created_at\":1711318424.041814, | |
\"enqueued_at\":1711318424.041895}"> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment