0

我想安排在SCDF中组合任务的启动,但一直无法找到一种方法来做到这一点。调度组合任务

我发现的最接近的东西是TriggerTask源和tasklauncher接收器模块。请参见TriggerTask

此方法的问题在于它采用任务工件的URI并使用任务的给定属性启动新的任务定义。因此,启动合成任务,甚至是预先存在的任务定义都是不可能的。

是否有理由说明tasklauncher不会像通过shell一样启动任务?这样您可以创建任务定义,并将名称提供给TriggerTask源。也许这个功能已经存在,我一直忽略它。否则,我可以编写我自己的接收器,通过API以某种方式调用任务启动。

回答

0

在核心,tasklauncher包括Deployer SPI。因为这个原因,你会注意到runtime specific implementation是一样的。接收器应用程序的唯一责任是在上游事件时编排期望的“任务应用程序”;无论是来自真实来源的事件还是通过triggertask的定时计划事件。出于这个原因,它需要一个引导应用程序,我们期望应用程序的坐标。

如果您的要求仅仅是安排合成任务,而不是基于上游事件动态调整,请考虑针对SCDF中已定义任务(通过API)的独立调度程序或创建简单的石英调度程序启动应用程序。在这个用例中使用triggertask可能是一个矫枉过正的行为。

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