java - 停止后是否可以重新开始工作?

标签 java spring-boot spring-batch

我正在开展一个项目,在该项目中,我每天最多可以点击 15k 次 Google API。所以我想在 15k 之后停止工作,并在第二天恢复。请让我知道我该怎么做。

请让我知道我怎样才能达到同样的效果。现在我正在考虑使用 quartz scheduler 来安排每天的工作。

如果有人需要完整的解释,我可以解释得更多。

提前致谢。

最佳答案

您可以使用 StepExecution#setTerminateOnly 停止步骤执行(及其周围的作业) .因此,在您的情况下,您可以使用例如 ItemReadListener#afterReadItemWriteListener#afterWrite 可以访问步骤执行并设置 terminateOnly处理 15k 个项目后标记。当您像这样优雅地停止作业时,它的状态将为 STOPPED 并且您将能够在第二天如您所述再次重新启动它。

您可以在 Stopping a Job Manually for Business Reasons 中找到示例引用文档部分。

希望这对您有所帮助。

关于java - 停止后是否可以重新开始工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54186680/

相关文章:

java - Spring Boot TCP 客户端

java - org.springframework.batch.item.ItemStreamException : File already exists: [SpringBatch-Partitioner-Example\csv\outputs\users.processed21-30.csv]

java - 如何在 Java 中使用 token 和公钥验证 JWT 签名

java - Spring 启动: automatic JSON message converter for @Requestbody GET doesn't work

java - 在 Java 中使用特定种子作为随机数生成器

spring-batch - 将流作为参数传递给作业

spring-batch - Spring Batch CompositeItemWriter 如何为委托(delegate)编写者管理事务?

java - Hibernate QueryException : Expected positional parameter count, 但查询不带参数

junit - 如何仅对单元测试禁用 Jersey 过滤器(使用spring-boot)

java - hbm2ddl 更新在 Spring Boot 中给出错误