1
試圖讓delayed_job工作。我想做一個http post到另一臺服務器而不會阻止我的rails應用程序。我認爲delayed_job將是一個好主意。但是我無法使它工作。所需的delayed_job示例不適用於發送郵件
主要在控制器中,如果我遇到了一種情況,我想對已知的服務器做一個http post。 我到目前爲止還沒有理解的是
- 我可以推遲控制器本身定義的功能嗎?
- 我是否需要定義一個單獨的類並具有可以包含在控制器中的功能?
到此爲止:
- 新增寶石 'delayed_job_active_record' 創業板上市文件
- 新增寶石 「守護」 也
- 軌產生的delayed_job:升級
- 耙分貝:遷移
- ran RAILS_ENV =開發腳本/ delayed_job開始
然後執行代碼。 代碼在控制器:
嘗試1:#引出NoMethodError(對於SimpleObjectForTestController未定義的方法post_to_server
)
class SimpleObjectForTestController
def create
....
if(some condition)
SimpleObjectForTestController.delay.post_to_server
end
....
end
def post_to_server
Typhoeus::Request.post("http://127.0.0.1:4567/hi", :body => $fixed_config)
end
end
嘗試2:現在也給相同的錯誤與SeperatedClass
class SeperatedClass
def post_to_server
Typhoeus::Request.post("http://127.0.0.1:4567/hi", :body => $fixed_config)
end
end
class SimpleObjectForTestController
def create
....
if(some condition)
SeperatedClass.delay.post_to_server
end
....
end
end
其他一些上下文: 這是一個非UI應用程序。 使用Rails 3.2.6 的Ruby 1.9.2 使用的delayed_job(3.0.3) 使用delayed_job_active_record(0.3.2)
誰能告訴我什麼,我做錯了什麼?
工作。也必須把它放在模型中,而不是控制器。 – av501