安排组合任务

时间:2017-09-01 10:03:01

标签: spring-cloud-stream spring-cloud-dataflow spring-cloud-task

我正在尝试安排在SCDF中启动撰写的任务,但一直无法找到实现此目的的方法。

我发现最接近的是TriggerTask源和任务启动器宿模块。见TriggerTask

这种方法的问题在于它获取任务工件的URI并使用给定的任务属性启动新的任务定义。因此,无法启动组合任务,甚至是预先存在的任务定义。

有没有理由为什么tasklauncher不会像你通过shell一样启动任务?这样您就可以创建任务定义,并为TriggerTask源提供名称。也许这个功能已经存在,我一直在忽视它。

否则,我可以编写自己的接收器,以某种方式调用任务启动,可能通过API。

1 个答案:

答案 0 :(得分:0)

核心是tasklauncher包含Deployer SPI。由于这个原因,你会发现runtime specific implementation同样的。{3}}。接收器应用程序的唯一责任是在上游事件时编排所需的“任务应用程序”;是来自真实来源的事件还是来自triggertask的定时时间表事件。因此,它需要一个Boot应用程序,我们希望应用程序与它协调。

如果您的要求只是安排组合任务而不是动态地基于上游事件,请考虑在SCDF中针对已定义任务(通过API)的独立调度程序,或者创建一个简单的quartz-scheduler启动应用程序。在这个用例中使用triggertask可能有点过分。

如果您在PCF中运行,则可以使用您可以利用的调度程序服务,同样,在其他平台上,还可以有其他选项。