我有一个ruby on rails应用程序,它使用resque gem来处理后台作业。我让用户触发后台任务,可能需要10分钟以上才能完成(他们正在处理大量数据)。在作业完成时提醒用户的最佳方式是什么?
我已经看到了关于使用resque-status的答案here,这是唯一的解决方案吗?或者,有没有其他方法可以通过普通的resque (我已经实现了)来提醒用户?
发布于 2012-08-02 23:41:34
如果您打算异步通知用户,您有三种选择:
这几乎是我唯一能想到的事情。我个人使用1和2的组合;完成后发送电子邮件给他们,并在他们下次登录时通知他们(并在通知中提供一个链接)。
发布于 2012-10-04 14:12:56
你可以使用一个叫做"resque-status“的gem。
使用此gem,您可以轻松获取作业的状态:
status = Resque::Plugins::Status::Hash.get(job_id)此Resque::Plugins::Status::Hash对象返回:
status.pct_complete #=> 0
status.status #=> 'queued'
status.queued? #=> true
status.working? #=> false
status.time #=> Time object
status.message #=> "Created at ..."有关更多详细信息,请访问:https://github.com/quirkey/resque-status
https://stackoverflow.com/questions/11780191
复制相似问题