用户对rails中异步任务的反馈

时间:2011-06-14 21:11:04

标签: ruby-on-rails ajax

我有一个执行“可能”长时间运行任务的操作。可能,因为它向远程服务器发出请求,并且由于网络延迟,它可以阻止用户界面并给用户一点延迟。

我的问题与“如何在后台发送长任务”无关,而是如何向用户发送通知。我的想法是,用户单击按钮,它在后台触发任务,Web界面被解锁,用户可以做任何他想做的事情,当任务完成后,他会收到一条flash消息。我可以用AJAX来做,轮询服务器,一个特定的动作,它给我我的任务的状态,但是有任何模式来做它基于事件?感谢概念证明或原型的答案。

1 个答案:

答案 0 :(得分:1)

此处没有概念验证,但您可以使用spawn或delayed_job之类的东西来启动Rails任务并取消阻止接口,然后使用node.js或类似的东西与客户端进行通信。但是,根据您的要求,长轮询可能比设置更多服务器软件更实用。