Sha256: d20d71bd36ecc6510662e2e0f9691a6b23226777e3553de6bbec06bd5de05455
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
require 'thor' module GoodJob class CLI < Thor RAILS_ENVIRONMENT_RB = File.expand_path("config/environment.rb") desc :start, "Start jobs" method_option :max_threads, type: :numeric def start require RAILS_ENVIRONMENT_RB max_threads = options[:max_threads] || ENV['GOOD_JOB_MAX_THREADS'] || ENV['RAILS_MAX_THREADS'] || ActiveRecord::Base.connection_pool.size $stdout.puts "GoodJob starting with max_threads=#{max_threads}" scheduler = GoodJob::Scheduler.new(pool_options: { max_threads: max_threads }) %w[INT TERM].each do |signal| trap(signal) { @stop_good_job_executable = true } end @stop_good_job_executable = false Kernel.loop do sleep 0.1 break if @stop_good_job_executable || scheduler.shutdown? end $stdout.puts "\nFinishing GoodJob's current jobs before exiting..." scheduler.shutdown $stdout.puts "GoodJob's jobs finished, exiting..." end default_task :start end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
good_job-0.5.0 | lib/good_job/cli.rb |
good_job-0.4.0 | lib/good_job/cli.rb |
good_job-0.3.0 | lib/good_job/cli.rb |