0

我正在尝试在 SCDF 中安排组合任务的启动,但一直无法找到执行此操作的方法。

我发现最接近的是 TriggerTask 源和 tasklauncher 接收器模块。见触发任务

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

tasklauncher 不只是像通过 shell 那样启动任务有什么原因吗?这样您就可以创建任务定义,并将名称提供给 TriggerTask 源。也许这个功能已经存在,而我一直忽略它。

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

4

1 回答 1

0

其核心tasklauncher包括Deployer SPI。由于这个原因,您会注意到相同的运行时特定实现。接收器应用程序的唯一职责是根据上游事件编排所需的“任务应用程序”;无论是来自真实来源的事件还是通过triggertask. 出于这个原因,它需要一个引导应用程序,我们希望应用程序与它协调。

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

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

于 2017-09-01T13:52:44.160 回答