簡體   English   中英

使用rails中的gem設置運行模型功能的紅寶石路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM