在本地环境中确认操作后,我将其部署在生产环境中。
第一次我在代码中犯了一个错误,并遇到了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
红宝石:2.5.0 导轨: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