从Rails应用程序异步推送到外部Web服务的最佳方法是什么?

时间:2013-01-29 09:00:53

标签: ruby-on-rails

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

1 个答案:

答案 0 :(得分:1)

使用任务队列和后台工作程序的最佳方法。

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

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

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

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

但这仅适用于非常小的应用程序。不要在重负荷下试试这个。