尝试让delayed_job正常工作。我想在不阻止我的rails应用程序的情况下向另一台服务器发送http帖子。我认为delayed_job是个好主意。但是我无法让它发挥作用。
如果我遇到一个条件,主要在控制器中我想对已知服务器进行http发布。 到目前为止我还没有理解的是
到目前为止的步骤:
然后执行代码。 控制器中的代码:
尝试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)
有人能告诉我我做错了吗?
答案 0 :(得分:3)
您的post_to_server
是一种实例方法。
这应该有效:
def self.post_to_server
...
end