whenever.rb är ett snyggt DSL för att konfigurera cron-uppgifter i ruby ( https://github.com/javan/whenever )
Dock har den ett stort problem: alla uppgifter den kör under cron använder samma unix-prioritet, och med 'prioritet' menar vi den som tar ner din dator.
Lyckligtvis är det lätt att åtgärda
steg ett, ersätt // konfigurera jobbmallarna i din ./config/schedule.rb-fil så att de ser ut ungefär så här
# Läs mer: 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"
steg två: vinst
För dem av er som inte vet vad unix 'nice' är kan det vara bra att läsa http://en.wikipedia.org/wiki/Nice_(Unix). TL;DR: det gör så att dina bakgrundsprocesser inte äter upp all CPU.