всякий раз, когда вызывают неинициализированную постоянную ошибку в производстве - PullRequest
0 голосов
/ 09 июня 2019

После подтверждения работы в локальной среде я развернул ее в производственной среде.В первый раз я допустил ошибку в коде и получил ошибку undefined method.После исправления кода и его повторного развертывания появилась следующая ошибка:

Когда я искал, были такие статьи, как то, что он не читался, если он был под lib, но я подумал, что он не применим, потому что он был подмоделей.Было бы полезно, если бы вы могли позаимствовать чью-то мудрость.

# log/cron.log
Running via Spring preloader in process 7298
Please specify a valid ruby command or the path of a script to run.
Run 'bin/rails runner -h' for help.

uninitialized constant Item
# crontab -l

# Begin Whenever generated tasks for: /var/www/rails/myapp/config/schedule.rb at: 2019-06-10 16:14:42 +0000
0 2 * * * /bin/bash -l -c 'cd /var/www/rails/myapp && bundle exec bin/rails runner -e production '\''Item.reload'\'' >> /var/www/rails/myapp/log/cron.log 2>&1'

# End Whenever generated tasks for: /var/www/rails/myapp/config/schedule.rb at: 2019-06-10 16:14:42 +0000

environment

ruby: 2.5.0 rails: 5.2.3 ー ー バ ー: Amazon Linux 2 AMI

код

config/schedule.rb
require File.expand_path(File.dirname(__FILE__) + "/environment")

set :output, "#{Rails.root}/log/cron.log"
set :environment, :production

every 1.day, at: '02:00' do
  runner 'Item.reload'
end
# models/item.rb
class Item < ApplicationRecord
  ...
  def self.reload
    ...
  end
end

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...