我正在使用 Quartz 定期创建一堆作业,这些作业我发送到一个队列 (RabbitMQ),在那里它们被 Akka 演员拾取和执行。缺少的一项是工作监控。如果一项工作失败,我什至不会注意到。
这些作业相当简单:它们只有 1-2 个参数,并且没有依赖关系。
有什么(库、最佳实践等)我可以利用的(即使是 SQL 模式也是一个好的开始)?
PS:我已经考虑过 Spring-Batch,它似乎开销太大。
我正在使用 Quartz 定期创建一堆作业,这些作业我发送到一个队列 (RabbitMQ),在那里它们被 Akka 演员拾取和执行。缺少的一项是工作监控。如果一项工作失败,我什至不会注意到。
这些作业相当简单:它们只有 1-2 个参数,并且没有依赖关系。
有什么(库、最佳实践等)我可以利用的(即使是 SQL 模式也是一个好的开始)?
PS:我已经考虑过 Spring-Batch,它似乎开销太大。
我认为您会找到监控 JMS 的工具。典型的一种是与 JMS 供应商捆绑在一起。JMS 的一个有趣特性是它可以检测消息处理失败并将消息发送给另一个消费者。
假设您走 JMS 监控路线,您需要: - 使您的 Akka actor 同步,以便 JMS 消息将等待它响应,然后再进行失败或成功。- 记录无法发送 JMS 消息的 Quartz 作业失败。
另一种解决方案是完全同步并让 Quartz 消息管理日志(可能在基类或代理中),因此您只需读取日志文件即可进行监控。
据我了解,Akka Actor 监控尚未出现,但已在计划中。与此同时,您可以从这里开始:http ://groups.google.com/group/akka-user/browse_thread/thread/3818fb17bef95869