whenever.rb est un joli DSL pour configurer les tâches cron en ruby ( https://github.com/javan/whenever )
cependant, il a un défaut majeur : toutes les tâches qu'il exécute sous cron utilisent la même priorité unix, et par ‘priorité’ nous entendons celle qui fait planter vos machines
heureusement, c'est facile à corriger
étape un, remplacez // configurez les modèles de tâches dans votre fichier ./config/schedule.rb pour qu'ils ressemblent à ceci
# En savoir plus : 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"
étape deux : profit
pour ceux qui ne savent pas ce qu'est 'nice' en unix, vous voudrez peut-être lire http://en.wikipedia.org/wiki/Nice_(Unix). TL;DR : cela fait que vos processus en arrière-plan n'utilisent pas tout le CPU.