在我的应用程序中,我需要处理上传的文档并将处理结果放入数据库中。
文档存储在文件系统中,元数据存储在数据库中。
对于每个文档,需要从磁盘打开和处理文件,然后相应地更新数据库中的元数据。处理可能很昂贵并且需要很长时间。
我打算做的是:
- Span N 个任务,一个任务处理单个文档
- 每个任务都会去寻找最旧的、“未处理”的文档
- 任务将在数据库中将其标记为“进行中”并开始处理它
- 处理文档后任务将更新元数据并将其在数据库中标记为“已处理”
- 之后任务将进入第 2 步
假设应用程序是用Java而不是Scala编写的,那么利用Play和Akka实现这个的正确/最简单的方法是什么?源代码示例也将不胜感激。