Module: Sidekiq::JobSignal

Defined in:
lib/sidekiq/job_signal.rb,
lib/sidekiq/job_signal/web.rb,
lib/sidekiq/job_signal/version.rb,
lib/sidekiq/job_signal/receiver.rb,
lib/sidekiq/job_signal/server_middleware.rb

Defined Under Namespace

Modules: Receiver, Web Classes: ServerMiddleware

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.delete_signal(job_class: "", jid: "") ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/sidekiq/job_signal.rb', line 29

def delete_signal(job_class: "", jid: "")
  ::Sidekiq.redis do |r|
    r.pipelined do |pipeline|
      pipeline.del("jobsignal-#{jid}") if jid && !jid.empty?
      pipeline.del("jobsignal-#{job_class}") if job_class && !job_class.empty?
    end
  end
end

.handlersObject



12
13
14
# File 'lib/sidekiq/job_signal.rb', line 12

def handlers
  @handlers ||= []
end

.on_quit(&block) ⇒ Object



16
17
18
# File 'lib/sidekiq/job_signal.rb', line 16

def on_quit(&block)
  handlers << block
end

.quit(job_class: "", jid: "") ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/sidekiq/job_signal.rb', line 20

def quit(job_class: "", jid: "")
  ::Sidekiq.redis do |r|
    r.pipelined do |pipeline|
      pipeline.set "jobsignal-#{jid}", "quit", ex: 86_400 if jid && !jid.empty?
      pipeline.set "jobsignal-#{job_class}", "quit", ex: 86_400 if job_class && !job_class.empty?
    end
  end
end

.quitting?(job_class: "", jid: "") ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
41
42
43
44
45
46
# File 'lib/sidekiq/job_signal.rb', line 38

def quitting?(job_class: "", jid: "")
  results = ::Sidekiq.redis do |r|
    r.pipelined do |pipeline|
      pipeline.get("jobsignal-#{jid}") if jid && !jid.empty?
      pipeline.get("jobsignal-#{job_class}") if job_class && !job_class.empty?
    end
  end
  results.include?("quit")
end