0

我需要根据一些配置数据启动多个独立的周期性任务——总数是未知的。比如我想查看不同区间不同参数的不同目录的内容,其中列表和参数是从配置中读取的。

在我看来,quarkus-scheduler 只能调度固定的、预先知道的方法。以动态/编程方式进行调度的最佳方法是什么?是vertx.setPeriodic正确的方法还是我应该以某种方式访问​​ Quartz?

4

1 回答 1

1

是的,您可以注入托管Vertx实例并使用Vertx.setPeriodic()or Vertx.setTimer()(一次性计时器)。但请记住,处理程序是在事件循环线程上执行的,因此代码不应阻塞。如果您确实需要执行一些阻塞代码,请查看Vertx.executeBlocking().

该计划是ScheduledExecutorService为类似的用例添加一个可管理的注入。

还有https://github.com/quarkusio/quarkus/issues/7246 - 这将允许您利用 Quartz API(使用quarkus-quartz扩展时)。

于 2020-02-18T07:29:01.703 回答