Ruby on rails rails应用程序上的轮询、web套接字或comet

Ruby on rails rails应用程序上的轮询、web套接字或comet,ruby-on-rails,ruby-on-rails-3,heroku,polling,websocket,Ruby On Rails,Ruby On Rails 3,Heroku,Polling,Websocket,我正试图确定为一个项目做一些事情的最佳方式,在这个项目中,我依赖于一个外部API/服务,需要大约2.5-4秒的时间才能得到回复 目前,我正在使用javascript在加载DOM之后加载api/数据,然后jquery更新页面上的一部分。虽然我拥有的加载程序很漂亮,但它仍然会锁定服务器进程,所以我想将它转移到一个使用delayed_job或其他东西的Heroku worker中?API中的信息是特定于用户的,而不是cron作业中的信息 我正在提取的数据只需要每隔几个小时更新一次,并在数据库中本地记录

我正试图确定为一个项目做一些事情的最佳方式,在这个项目中,我依赖于一个外部API/服务,需要大约2.5-4秒的时间才能得到回复

目前,我正在使用javascript在加载DOM之后加载api/数据,然后jquery更新页面上的一部分。虽然我拥有的加载程序很漂亮,但它仍然会锁定服务器进程,所以我想将它转移到一个使用delayed_job或其他东西的Heroku worker中?API中的信息是特定于用户的,而不是cron作业中的信息

我正在提取的数据只需要每隔几个小时更新一次,并在数据库中本地记录,所以我猜像Pusherapp.com提供的那样全面的web套接字会有点过分吗

我倾向于使用延迟的_作业进行轮询,并等待状态更新以确定其完整性。有人做过这件事吗?提示还是警告


谢谢

是的,你肯定可以用延迟的工作做这样的事情。。。但最终听起来您需要类似cron的东西来安排日程,对吗?或者,你不能在heroku上使用cron每隔几个小时运行一次rake任务吗?

我使用了大量推送技术,对于轻量级使用,这是我发现最容易实现的。这取决于任务是什么。不,对不起,我想我不够具体。它的位置/用户特定于从API提取的信息。我不能只批量加载它,这取决于用户。然后延迟的任务听起来很难找到。当用户加载页面时,将作业排队。然后投票看看什么时候完成。