簡體   English   中英

Rails發條沒有運行代碼

[英]Rails clockwork not running code

我在Rails 3.2應用程序中使用gem'clockwork'。 該應用程序在Heroku上運行。 時鍾作業在凌晨1點運行 - 但它沒有執行代碼。

這是clock.rb代碼:

  Clockwork.every(1.day, 'DailyJob', :at => '01:00'){
    StatsMailer.stats_email.deliver
    Forecast.where(:run_date => Date.today).each  do |forecast|
      woschedules_run_jobplans_path(:id => forecast.woschedule_id)
    end
  }

日志顯示:

9月04日00:00:05 ndeavor-staging app / clock.1:#<NoMethodError:未定義的方法`woschedules_run_jobplans_path'用於發條:模塊>

如果我耙路線,我得到:

woschedules_run_jobplans GET   /woschedules/run_jobplans(.:format) woschedules#run_jobplans

錯誤在於路線不存在。 由於路徑存在,這個問題通常意味着Rails路由尚未加載到當前范圍。

您可能需要包含Rails的路由助手才能使其正常運行: Rails.application.routes.url_helpers

Clockwork.every(1.day, 'DailyJob', :at => '01:00'){
  StatsMailer.stats_email.deliver
  Forecast.where(:run_date => Date.today).each  do |forecast|
    # Prepend your route with the following:
    Rails.application.routes.url_helpers.woschedules_run_jobplans_path(:id => forecast.woschedule_id)
  end
}

或者,要稍微干一點,您可以使用以下命令在文件開頭簡單地包含所有路徑助手:

# Beginning of file
include Rails.application.routes.url_helpers

# ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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