0

当用户向我的 Rails 应用程序发表评论时,我希望将评论推送到外部 Web 服务。这个外部网络服务可能很慢,所以我想异步进行这个推送。我对来自 Web 服务的响应不感兴趣。

4

1 回答 1

1

使用任务队列和后台工作者的最佳方式。

例如,看看Sidekiq。或BackgroundJob。或Resque

基本上,在您的 Rails 应用程序中,您说“我希望在后台调用它”并将任务放入队列(由 / / /whatever 支持)。然后另一个进程(后台工作人员)从队列中检索任务并执行它们。

对于快速而肮脏的解决方案,您可以使用线程:

Thread.new do
  # this stuff will be executed asynchronously
end

但这仅适用于非常小的应用程序。不要在重负载下尝试此操作。

于 2013-01-29T09:03:08.350 回答