我有一个使用resque
gem 处理后台作业的 ruby on rails 应用程序。我让用户触发可能需要 10 分钟以上才能完成的后台作业(他们正在处理大量数据)。作业完成时提醒用户的最佳方式是什么?
我在这里看到了关于 using的答案resque-status
,这是唯一的解决方案吗?还是有另一种通过正常方式提醒用户的方法resque
(我已经实现了)?
我有一个使用resque
gem 处理后台作业的 ruby on rails 应用程序。我让用户触发可能需要 10 分钟以上才能完成的后台作业(他们正在处理大量数据)。作业完成时提醒用户的最佳方式是什么?
我在这里看到了关于 using的答案resque-status
,这是唯一的解决方案吗?还是有另一种通过正常方式提醒用户的方法resque
(我已经实现了)?
如果您打算异步通知用户,您有以下三种选择:
这些几乎是我唯一能想到的。我个人会选择 1 和 2 的组合;完成后向他们发送电子邮件,并在他们下次登录时通知他们(并在通知中提供链接)。
您可以使用名为“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 ..."
有关更多详细信息并获取此 gem,请访问:https ://github.com/quirkey/resque-status