Всякий раз, когда ошибка gem - Не удалось найти команду "bin / rails" - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь запускать резервное копирование БД каждые 3 часа с каждым разом.Проблема в том, что вместо запуска я получаю следующее сообщение в журналах cron:

Не могу найти команду "bin / rails".

Мой файл schedule.rb прост:

set :bundle_command, "/usr/local/bin/bundle"

set :output, { error: '/usr/src/app/log/error.log', standard: '/usr/src/app/log/cron.log' }

require '/usr/src/app/lib/database_backup.rb'

every 2.minutes do

  runner "take_database_backup"

end

Rails работает внутри контейнера Docker.

Есть идеи, что может вызвать это?

1 Ответ

0 голосов
/ 19 января 2019

Ваш schedule.rb указывает :bundle_command, так что, похоже, вы намереваетесь выполнить cronjob с помощью /usr/local/bin/bundle exec ....

Однако :bundle_command применимо только к job_type :rake или job_type :script.job_type :runner разрешает что-то вроде:

"cd :path && bin/rails runner -e :environment ':task' :output"

Обратите внимание, что выше используется bin/rails, а не bundle.Так что, скорее всего, ваш bin/rails binstub каким-то образом отсутствует везде, где ваш :path разрешает.По умолчанию :path разрешается в каталог, в котором было выполнено whenever.

...