Class: Kaya::BackgroundJobs::Sidekiq

Inherits:
Object
  • Object
show all
Defined in:
lib/kaya/background_jobs/sidekiq.rb

Class Method Summary collapse

Class Method Details

.startObject



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/kaya/background_jobs/sidekiq.rb', line 4

def self.start

  workers_dir = workers_dir = __FILE__.split("/")[0..-2].join("/")+ "/workers"

  Kaya::Support::Console.execute "sidekiq -r #{workers_dir}/execution_performer.rb -d -L kaya/sidekiq_log -P kaya/sidekiq_pid"

  print "\n* Sidekiq:"
  raise "Could not start Sidekiq correctly. Read kaya/sidekiq_log file for more information" if not started?

  print " Started!\n"
end

.started?Boolean

Existance of pid file means that sidekiq was started

Returns:

  • (Boolean)


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/kaya/background_jobs/sidekiq.rb', line 17

def self.started?
  begin
    sec = 0
    begin
      print "."
      return true if IO.read("#{Dir.pwd}/kaya/sidekiq_log") =~ /INFO: Booting Sidekiq \d+.\d+.\d+ with redis options {/
      sec += sleep 1
    end until sec == 10

    puts "Cannot start sidekiq after 10 seconds"
    false

  rescue
    false
  end
end