我希望使用delayed_job来执行控制器中的一个函数。该函数存储在lib/site_request.rb模块中:
module SiteRequest
def get_data(query)
...
end
handle_asynchronously :get_data
end
query_controller.rb:
class QueryController < ApplicationController
include SiteRequest
def index
@query = Query.find_or_initialize_by_word(params[:query])
if @query.new_record?
@query.save
get_data(@query)
flash[:notice] = "Request for data is sent to server."
end
end
end
我还尝试从模块中删除handle_asynchronously
子句,并使用delay.get_data(@query)
,但两者都不会静默执行(没有延迟作业代码时工作)