После обновления ruby ​​crontab не работает "bundler: не исполняемый файл: bin / rails" - PullRequest
0 голосов
/ 25 апреля 2019

После того, как версия ruby ​​была обновлена ​​с 2.3.1 до 2.3.7, crontab не работает в производственной среде (он работает в локальной среде). До обновления все работало.

Я использую rbenv, поэтому информация, которую я мог найти в Интернете для решения такой проблемы, как ($ rvm cron setup), не подходит для моего случая.

код schedule.rb:

env :PATH, ENV['PATH']
env :GEM_PATH, ENV['GEM_PATH']
rails_env = ENV['RAILS_ENV'] || :development
require File.expand_path(File.dirname(__FILE__) + "/environment")
set :environment, rails_env
set :output, "#{Rails.root}/log/cron.log"

 every 1.day do
  runner "Reminder.reminder_mail"
end

Что странно, рубиновая версия показывает

$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]

Но среда показывает другую версию ruby ​​..

$ bundle env
Ruby          2.3.1p112 (2016-04-26 revision 0) [x86_64-linux-gnu]

Я не знаю, если это проблема и как ее решить.

Текущая настройка для crontab:

$ crontab -l
PATH=/home/franky/list/voendor/bundler/ruby/2.3.0/bin:/usr/local/bin:/home/franky/.gem/ruby/2.3.0/bin:/usr/local/rbenv/shims:~/.rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
GEM_PATH=””

0 0 * * * /bin/bash -l -c ‘cd /home/franky/list && bundle exec bin/rails runner -e production ‘'‘Reminder.reminder_mail’'’ » /home/franky/list/log/cron.log 2>&1’

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 02 мая 2019

Я мог бы решить эту проблему с помощью "rake db: drop" и "rake db: create" !!! Crontab снова работает!

...