Class: Sidekiq::Process
- Inherits:
-
Object
- Object
- Sidekiq::Process
- Defined in:
- lib/sidekiq/api.rb
Overview
Sidekiq::Process represents an active Sidekiq process talking with Redis. Each process has a set of attributes which look like this:
'hostname' => 'app-1.example.com',
'started_at' => <process start time>,
'pid' => 12345,
'tag' => 'myapp'
'concurrency' => 25,
'queues' => ['default', 'low'],
'busy' => 10,
'beat' => <last heartbeat>,
'identity' => <unique string identifying the process>,
'embedded' => true,
Instance Method Summary collapse
- #[](key) ⇒ Object
-
#dump_threads ⇒ Object
Signal this process to log backtraces for all threads.
- #embedded? ⇒ Boolean
- #identity ⇒ Object
-
#initialize(hash) ⇒ Process
constructor
private
:nodoc:.
- #labels ⇒ Object
- #queues ⇒ Object
-
#quiet! ⇒ Object
Signal this process to stop processing new jobs.
-
#stop! ⇒ Object
Signal this process to shutdown.
-
#stopping? ⇒ Boolean
True if this process is quiet or shutting down.
- #tag ⇒ Object
- #version ⇒ Object
- #weights ⇒ Object
Constructor Details
#initialize(hash) ⇒ Process
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
:nodoc:
1020 1021 1022 |
# File 'lib/sidekiq/api.rb', line 1020 def initialize(hash) @attribs = hash end |
Instance Method Details
#[](key) ⇒ Object
1032 1033 1034 |
# File 'lib/sidekiq/api.rb', line 1032 def [](key) @attribs[key] end |
#dump_threads ⇒ Object
Signal this process to log backtraces for all threads. Useful if you have a frozen or deadlocked process which is still sending a heartbeat. This method is asynchronous and it can take 5-10 seconds.
1080 1081 1082 |
# File 'lib/sidekiq/api.rb', line 1080 def dump_threads signal("TTIN") end |
#embedded? ⇒ Boolean
1052 1053 1054 |
# File 'lib/sidekiq/api.rb', line 1052 def self["embedded"] end |
#identity ⇒ Object
1036 1037 1038 |
# File 'lib/sidekiq/api.rb', line 1036 def identity self["identity"] end |
#labels ⇒ Object
1028 1029 1030 |
# File 'lib/sidekiq/api.rb', line 1028 def labels self["labels"].to_a end |
#queues ⇒ Object
1040 1041 1042 |
# File 'lib/sidekiq/api.rb', line 1040 def queues self["queues"] end |
#quiet! ⇒ Object
Signal this process to stop processing new jobs. It will continue to execute jobs it has already fetched. This method is asynchronous and it can take 5-10 seconds for the process to quiet.
1060 1061 1062 1063 1064 |
# File 'lib/sidekiq/api.rb', line 1060 def quiet! raise "Can't quiet an embedded process" if signal("TSTP") end |
#stop! ⇒ Object
Signal this process to shutdown. It will shutdown within its configured :timeout value, default 25 seconds. This method is asynchronous and it can take 5-10 seconds for the process to start shutting down.
1070 1071 1072 1073 1074 |
# File 'lib/sidekiq/api.rb', line 1070 def stop! raise "Can't stop an embedded process" if signal("TERM") end |
#stopping? ⇒ Boolean
Returns true if this process is quiet or shutting down.
1085 1086 1087 |
# File 'lib/sidekiq/api.rb', line 1085 def stopping? self["quiet"] == "true" end |
#tag ⇒ Object
1024 1025 1026 |
# File 'lib/sidekiq/api.rb', line 1024 def tag self["tag"] end |
#version ⇒ Object
1048 1049 1050 |
# File 'lib/sidekiq/api.rb', line 1048 def version self["version"] end |
#weights ⇒ Object
1044 1045 1046 |
# File 'lib/sidekiq/api.rb', line 1044 def weights self["weights"] end |