[英]Set ruby path for run model function using whenever gem in rails
在我的rails應用程序中,我想使用每當gem時運行模型函數。 我的schedule.rb文件是這樣的,
set :environment, 'development'
set :output, "#{path}/log/cron.log"
set :job_template, "bash -l -c ':job'"
job_type :runner, "cd :path && bin/rails runner -e :environment ':task' :output"
every 2.minutes do
runner "Book.jobrun"
end
every 2.minutes do
command "echo 'rink4'"
end
和book.rb模型一樣,
self.jobrun
Rails.logger.info "cronjob is running"
end
但是當我運行cronjob時,在顯示的cron.log文件中,
bin/rails:3: undefined method `require_relative' for main:Object (NoMethodError)
我如何設置紅寶石路徑或Rails路徑?
嘗試從cron運行which ruby
。 是您所期望的嗎? 如果不是,那么cron很可能默認使用系統Ruby,在您的情況下,該系統可能是1.8.7版,並且沒有require_relative
函數。
檢查哪些紅寶石executble你使用which ruby
。 並在垃圾箱/導軌頂部的shebang中使用此工具。 例如
垃圾箱/軌道
#!/Users/<username>/.rvm/rubies/ruby-2.2.4/bin/ruby.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.