ソースを参照

Merge pull request #821 from dsander/dj-env-config

Make delayed_job sleep_delay and max_run_time .env configurable
Dominik Sander 10 年 前
コミット
2e36f395f5
2 ファイル変更9 行追加2 行削除
  1. 7 1
      .env.example
  2. 2 1
      config/initializers/delayed_job.rb

+ 7 - 1
.env.example

@@ -147,7 +147,7 @@ ENABLE_SECOND_PRECISION_SCHEDULE=false
 # Specify the scheduler frequency in seconds (default: 0.3).
 # Increasing this value will help reduce the use of system resources
 # at the expense of time accuracy.
-#SCHEDULER_FREQUENCY=0.3
+SCHEDULER_FREQUENCY=0.3
 
 # Use Graphviz for generating diagrams instead of using Google Chart
 # Tools.  Specify a dot(1) command path built with SVG support
@@ -159,3 +159,9 @@ TIMEZONE="Pacific Time (US & Canada)"
 
 # Number of failed jobs to keep in the database
 FAILED_JOBS_TO_KEEP=100
+
+# Maximum runtime of background jobs in minutes
+DELAYED_JOB_MAX_RUNTIME=20
+
+# Amount of seconds for delayed_job to sleep before checking for new jobs
+DELAYED_JOB_SLEEP_DELAY=10

+ 2 - 1
config/initializers/delayed_job.rb

@@ -1,9 +1,10 @@
 Delayed::Worker.destroy_failed_jobs = false
 Delayed::Worker.max_attempts = 5
-Delayed::Worker.max_run_time = 20.minutes
+Delayed::Worker.max_run_time = (ENV['DELAYED_JOB_MAX_RUNTIME'].presence || 20).to_i.minutes
 Delayed::Worker.read_ahead = 5
 Delayed::Worker.default_priority = 10
 Delayed::Worker.delay_jobs = !Rails.env.test?
+Delayed::Worker.sleep_delay = (ENV['DELAYED_JOB_SLEEP_DELAY'].presence || 10).to_f
 
 # Delayed::Worker.logger = Logger.new(Rails.root.join('log', 'delayed_job.log'))
 # Delayed::Worker.logger.level = Logger::DEBUG