繁体   English   中英

有什么方法可以在 Vertx 中设置初始延迟(即 30 秒),然后以不同的时间延迟(即 1 秒)定期运行任务

[英]Is there any way to set initial delay (i.e 30 sec) in Vertx and then run task periodically with different time delay (i.e 1 sec)

我正在使用 vert.x 框架编写一个 Java 应用程序。 我有一个用例,我需要等待 30 秒才能安排任务 1 秒间隔。

我正在使用 vertx.setPeriodic 每 1 秒执行一次任务。 在这里我找不到顶点的任何实用程序,它允许我最初等待 30 秒,然后每 1 秒执行一次任务。 我可以使用 Thread.sleep(30000),但它会使我的代码同步。 相反,我正在寻找一个顶点 function,它允许我以异步方式实现相同的行为。

vertx.setPeriodic(1000, timerId -> { ... my task logic ... });

我尝试使用 vertx.setPeriodic,但它没有允许初始延迟的重载方法。

结合vertx.setTimer(long delay, Handler<Long> handler)这应该很简单

您的代码如下所示:

vertx.setTimer(30000, timerId -> {
    vertx.setPeriodic(1000, periodicId -> { ... my task logic ... });
});

编辑:在最新版本的 Vert.x 中,可以配置setPeriodic初始延迟:

vertx.setPeriodic(30000, 1000, timerId -> {
 // My task
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM