java - 每 x 分钟检查一次测试状态的最佳方法是什么?

标签 java scalability conceptual

我目前正在使用一个 API,其中发送电子邮件测试,大约 25 分钟后完成。此时间可能会因服务器负载而异(API 调用外包给不同的公司)。

根据我们正在开发的功能,我们每天可能会创建大约 1,000 个测试,我想知道使用 Java 检查每个测试的状态的有效方法是什么?如果我要安排一项任务,我假设线程会等待 x 分钟,这似乎不太可扩展。

最佳答案

您可能想使用ScheduledThreadPoolExecutor class .

A ThreadPoolExecutor that can additionally schedule commands to run after a given delay, or to execute periodically.

灵活的功能:

  • 使用不同的延迟来安排多个作业。
  • 您可以在安排时使用方便的 TimeUnit
  • 能够决定可以同时执行多少个作业。
  • 您只需实现 Runnable 接口(interface)(定义了 run 方法)。
  • 线程被重用,并使用ThreadFactory(可选)创建。

更多详细信息和示例可以找到 here .

关于java - 每 x 分钟检查一次测试状态的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32189834/

相关文章:

java - 使用自定义对象对 Java Vector 进行排序和优化

java - JetBrains @Contract 使用字段

java - 错误:Log already in use?

performance - 原子 memcpy 建议

java - 如何使用可扩展的解决方案从 java 中非常大的文件中查找唯一记录?

java - 我们是否应该始终定义接口(interface)和抽象类,即使只有 1 个类扩展它们?

java - 多类匹配

ElasticSearch 分析查询

java - XML 文档的索引路径

c# - Task.Start/Wait 和 Async/Await 之间有什么区别?