大学生からの Web 開発

会社の人に見つかってぽよぽよしてきた

Whenever × rbenv

Whenever、そのままだと rbenv でインストールした Ruby で実行してくれなくて困る。

解決するには rbenv を初期化してやる必要がある。

config/schedule.rb

job_type :runner, "export PATH=\"$HOME/.rbenv/bin:$PATH\"; eval \"$(rbenv init -)\"; cd :path && RAILS_ENV=:environment bundle exec rails runner :task :output"

実行する job_type によって :runner のところを、 :rake:command に変更する。

参考

Railsのバッチ処理のcrontab設定をwhenever&capistranoで自動化 | DjangoAppLab