我有一个条件,我必须触发组成的任务运行程序(其逻辑编写在处理器中)。如何通过流执行此操作?
要求:我必须轮询一个特定的目录,只要该目录中有2个文件,我的处理器就会决定是否启动组成的任务运行程序。如果是,组成的任务运行程序将使用某些参数启动,并将一个一个地处理两个文件。
有人可以帮助我编写此方案的流定义吗?
当前,我正在尝试如下触发它:
stream create exmaple --definition "triggertask --triggertask.uri=file:///Users/batch/apps/timestamp-task-2.1.0.RELEASE.jar --trigger.fixed-delay=30 | trigger-task-processor | tasklaunchrequest-transform --graph='xyz-d1 && xyz-d2' --increment-instance-enabled=true --spring.datasource.url=... --composed-task-arguments='some arguments' | taskLauncher"
哪里triggertask是触发任务源
触发任务处理器是具有有关触发事件的业务逻辑的处理器]
tasklaunchrequest-transform是一个处理器(组成任务运行程序的定制实现)
taskLauncher是任务启动器本地接收器兔子
我相信您可以使用tasklauncher-dataflow
接收器应用程序简化设计,该应用程序充当SCDF服务器的REST客户端并发出任务启动请求。您可以通过这种方式启动您的合成任务。
根据您的情况,您可以有类似以下内容:
file | tasklauncher-dataflow
file
是开箱即用的应用程序,您可以根据需要自定义它以将输出发送到tasklauncher-dataflow
接收器。
您可以找到一些与此相关的参考,如下: