Sha256: 4ede8ff80f07e50a2e80aa7e3a8f9db444a59349c820803888908a62a0f9c7cd

Contents?: true

Size: 1.33 KB

Versions: 19

Compression:

Stored size: 1.33 KB

Contents

namespace :jobs do
  desc 'Clear the delayed_job queue.'
  task :clear => :environment do
    Delayed::Job.delete_all
  end

  desc 'Start a delayed_job worker.'
  task :work => :environment_options do
    Delayed::Worker.new(@worker_options).start
  end

  desc 'Start a delayed_job worker and exit when all available jobs are complete.'
  task :workoff => :environment_options do
    Delayed::Worker.new(@worker_options.merge(:exit_on_complete => true)).start
  end

  task :environment_options => :environment do
    @worker_options = {
      :min_priority => ENV['MIN_PRIORITY'],
      :max_priority => ENV['MAX_PRIORITY'],
      :queues => (ENV['QUEUES'] || ENV['QUEUE'] || '').split(','),
      :quiet => ENV['QUIET']
    }

    @worker_options[:sleep_delay] = ENV['SLEEP_DELAY'].to_i if ENV['SLEEP_DELAY']
    @worker_options[:read_ahead] = ENV['READ_AHEAD'].to_i if ENV['READ_AHEAD']
  end

  desc "Exit with error status if any jobs older than max_age seconds haven't been attempted yet."
  task :check, [:max_age] => :environment do |_, args|
    args.with_defaults(:max_age => 300)

    unprocessed_jobs = Delayed::Job.where('attempts = 0 AND created_at < ?', Time.now - args[:max_age].to_i).count

    if unprocessed_jobs > 0
      raise "#{unprocessed_jobs} jobs older than #{args[:max_age]} seconds have not been processed yet"
    end
  end
end

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
delayed_job-4.1.13 lib/delayed/tasks.rb
delayed_job-4.1.12 lib/delayed/tasks.rb
delayed_job-4.1.12.rc1 lib/delayed/tasks.rb
delayed_job-4.1.11 lib/delayed/tasks.rb
delayed_job-4.1.10 lib/delayed/tasks.rb
delayed_job-4.1.9 lib/delayed/tasks.rb
delayed_job-4.1.8 lib/delayed/tasks.rb
delayed_job-4.1.8.beta1 lib/delayed/tasks.rb
delayed_job-4.1.7 lib/delayed/tasks.rb
delayed_job-4.1.7.beta1 lib/delayed/tasks.rb
delayed_job-4.1.6 lib/delayed/tasks.rb
delayed_job-4.1.6.beta1 lib/delayed/tasks.rb
delayed_job-4.1.5 lib/delayed/tasks.rb
delayed_job-4.1.4 lib/delayed/tasks.rb
delayed_job-4.1.3 lib/delayed/tasks.rb
delayed_job-4.1.2 lib/delayed/tasks.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/delayed_job-4.1.1/lib/delayed/tasks.rb
delayed_job-4.1.1 lib/delayed/tasks.rb
delayed_job-4.1.0 lib/delayed/tasks.rb