@drawoharajag ❤️ det här! << klicka på mig 🐛 🫖 🧚
/nicer-whenver-for-yer-railzer
publicerad den: 2014-02-28

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.