Ruby on rails rails中异步任务的用户反馈
我有一个执行“可能”长时间运行任务的操作。一种可能的情况是,由于它向远程服务器发出请求,并且由于网络延迟,它可能会阻塞用户界面并给用户一个小的延迟Ruby on rails rails中异步任务的用户反馈,ruby-on-rails,ajax,Ruby On Rails,Ajax,我有一个执行“可能”长时间运行任务的操作。一种可能的情况是,由于它向远程服务器发出请求,并且由于网络延迟,它可能会阻塞用户界面并给用户一个小的延迟 我的问题与“如何在后台发送长任务”无关,而是如何向用户推送通知。我的想法是,用户点击按钮,它在后台启动一个任务,web界面被解锁,用户可以做任何他想做的事情,当任务完成时,他会收到一条flash消息。我可以使用AJAX,轮询服务器,一个特定的动作,例如,给我任务的状态,但是有没有基于事件的模式呢?有概念证明或原型的答案的荣誉 这里没有概念证明,但是您
我的问题与“如何在后台发送长任务”无关,而是如何向用户推送通知。我的想法是,用户点击按钮,它在后台启动一个任务,web界面被解锁,用户可以做任何他想做的事情,当任务完成时,他会收到一条flash消息。我可以使用AJAX,轮询服务器,一个特定的动作,例如,给我任务的状态,但是有没有基于事件的模式呢?有概念证明或原型的答案的荣誉 这里没有概念证明,但是您可以使用诸如spawn或delayed_job之类的工具来启动Rails任务并解锁接口,然后使用node.js或类似工具与客户端通信。但是,根据您想做什么,长轮询可能比设置更多服务器软件更实用。您知道吗?当然知道,但是如何将其与控制器集成。我不能在我的控制器中简单地启动EM.run;EventMachine使用的模式(非常接近Reactor模式)是您想要使用的。它就是为此而设计的。您不会在Rails中使用它;除了Rails之外,您还可以使用它。