whenever.rb is een mooie DSL voor het configureren van cron-taken in ruby ( https://github.com/javan/whenever )
het heeft echter een groot nadeel: alle taken die het onder cron uitvoert, gebruiken de zelfde unix-prioriteit, en met ‘prioriteit’ bedoelen we die je systeem naar beneden haalt
gelukkig is dit makkelijk te repareren
stap één, vervang // configureer de taaksjablonen in je ./config/schedule.rb-bestand zodat ze er ongeveer zo uitzien
# Leer meer: http://github.com/javan/whenever
job_type :rake, "cd :path && RAILS_ENV=:environment :environment_variable=:environment nice -n 19 bundle exec rake :task --silent :output"
job_type :runner, "cd :path && nice -n 19 ./bin/rails runner -e :environment ':task' :output"
stap twee: winst
voor diegenen van jullie die niet weten wat unix ‘nice’ is, lees dan http://en.wikipedia.org/wiki/Nice_(Unix). TL;DR: het zorgt ervoor dat je achtergrondprocessen niet alle CPU's opeten.