ScheduledExecutorService.scheduleWithFixedDelay 在 vertx 中的使用

问题描述

我想安排一个任务完成后定期执行的任务。以前我使用了 scheduledexecutorservice.scheduleWithFixedDelay,但现在在 vertx 中我在考虑它是否会导致任何问题,因为 vertx 已经将线程用于事件循环和工作顶点。

我检查了 Vertx.setPeriodic,但它只是定期执行,没有检查或等待任务完成后再安排其他任务。

通过目前探索的所有选项,我有一个解决方法,我使用 Vertx.setTimer 来安排任务,并在完成时在处理程序中再次调用 Vertx.setTimer。

在高层次上,计划任务将从一个表中查询记录并更新另一个表。

谁有其他更好的解决方案,请指导我。

Vertx 版本 - 3.9.4

解决方法

据我所知,ScheduledExecutorService.scheduleWithFixedDelay 不会对 Vert.x 造成任何问题,您可以继续使用它。

不过,您建议在回调中设置计时器是解决该问题的更好方法。