Sha256: cc3437569ba45d1b27647cbffd0b900fb4fb131f602313fa5f7545ad121a9d12
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 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 => false } 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
delayed_job-4.0.3 | lib/delayed/tasks.rb |