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