我在 Raiscast 上关注了这个关于 Resque 的教程:http: //railscasts.com/episodes/271-resque
在教程中,有一个关于代码荧光笔的示例,它位于控制器的 #create 方法中:
def create
@snippet = Snippet.new(params[:snippet])
if @snippet.save
uri = URI.parse('http://pygments.appspot.com/')
request = Net::HTTP.post_form(uri, {'lang' => @snippet.language, 'code' => @snippet.plain_code})
@snippet.update_attribute(:highlighted_code, request.body)
redirect_to @snippet, :notice => "Successfully created snippet."
else
render 'new'
end
end
据说
“通过 Rails 请求与外部服务通信通常是一个坏主意,因为它们可能会响应缓慢,因此会占用整个 Rails 进程和任何其他尝试连接它的请求。最好将外部请求移出到“
它想说的是:Resque 有助于加快 Rails 应用程序的速度。但是,我不太明白为什么/如何将这段代码移出控制器来加速应用程序。它寻找我只是将它从控制器移动到另一个库。谁能给我解释一下?