Sha256: c9fa3f64c63cf2f37a63a9cc8ea0a1132610125a30fc370ab6c2d9133c053852

Contents?: true

Size: 1011 Bytes

Versions: 5

Compression:

Stored size: 1011 Bytes

Contents

# frozen_string_literal: true

namespace :sidekiq do
  desc 'Starts Sidekiq'
  task start: [:environment] do
    config = '-d -C config/sidekiq.yml'
    cmd = Cocaine::CommandLine.new('bundle exec sidekiq', config)
    mes = cmd.run
    if mes == ''
      puts 'Sidekiq started successfully.'
    else
      mes
    end
  end

  desc 'Stops Sidekiq'
  task stop: [:environment] do
    pid_file = 'tmp/pids/sidekiq.pid'
    pid_file = 'tmp/pids/sidekiq_test.pid' if Rails.env.test?
    cmd = Cocaine::CommandLine.new('sidekiqctl', "stop #{pid_file}")
    puts cmd.run
  end

  desc 'Restarts Sidekiq'
  task restart: [:environment] do
    Rake::Task['sidekiq:stop'].execute
    Rake::Task['sidekiq:start'].execute
  end

  desc "Wait until 'busy' queue is finished"
  task wait: :environment do
    Sidekiq::ProcessSet.new.each(&:quiet!)
    sleep(1) unless finished?
  end

  private

  def finished?
    ps = Sidekiq::ProcessSet.new
    ps.size.zero? || ps.detect { |process| process['busy'].zero? }
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cybele-2.3.2 templates/sidekiq/sidekiq.rake.erb
cybele-2.3.1 templates/sidekiq/sidekiq.rake.erb
cybele-2.2.0 templates/sidekiq/sidekiq.rake.erb
cybele-2.1.0 templates/sidekiq/sidekiq.rake.erb
cybele-2.0.0 templates/sidekiq/sidekiq.rake.erb