我正在使用 Spring MVC 3.2 和 RabbitMQ 为 Web 应用程序异步处理数据。通过使用消息队列,可以轻松地在后台执行任务。
但是,我开始想知道跟踪一项大工作的进度以及解决此类问题的总体方法的最佳方法是什么。
如果没有 RabbitMQ,创建一个新线程并与之通信可能很容易,但 RabbitMQ 增加了额外的复杂性。
如有任何关于最佳架构的建议,我们将不胜感激。
作业可能类似于“下载 10.000 件产品的照片并刷新缓存”。我希望能够向用户实时显示进度百分比。
最佳答案
使用一些键值存储并根据进度更新与任务相关的键。快速而肮脏,但在大多数情况下都有效且易于实现。
关于rabbitmq - Spring + RabbitMQ : Tracking progress of a big task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23991322/