gpt4 book ai didi

java - 在 Cron4J 中应用序列

转载 作者:行者123 更新时间:2023-12-01 05:31:04 27 4
gpt4 key购买 nike

我正在使用 cron4j 安排任务每 30 分钟运行一次。但是,如果同一任务的前一个实例仍在执行,我不想运行任务执行的第二个实例。我知道 Executor 中有 isLive() 和 join() 这样的方法,但不确定使用它们来实现目标的适当方法。

最佳答案

我假设您想实现顺序处理。如果是这样的话,我的建议是使用队列作为 2 个 cron4j 任务、生成进程参数的 rask 和处​​理参数的任务之间的“管道”。

cron4j(任务1,间隔30分钟)准备参数,放入----->队列<----- cron4j(任务2,间隔可能10分钟)从中读取参数,并进行相应处理。

在cron4j的任务2中,处理完队列中的参数后,在完成之前会再次检查队列的内容,如果队列中有新的内容,则继续处理。

通过这种方法,事物会按顺序处理,并且两个任务是松散耦合的,因为它们与队列对象交互。

您可以使用 java.util.Queue 作为队列。

关于java - 在 Cron4J 中应用序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8973974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com