我见过的每个示例(task-launcher
sink 和triggertask
source )都展示了如何启动由uri属性定义的任务。我的任务定义如下所示:
sampleTask <t2: timestamp || t1: timestamp>
sampleTask-t1 timestamp
sampleTask-t2 timestamp
sampleTaskRunner composed-task-runner --graph=sampleTask
我的问题是如何sampleTaskRunner
从流应用程序启动组合任务运行程序(由 DSL 定义)。
谢谢
更新
我最终得到了以下使用 SCDF REST API 触发任务的解决方案:
composedTask
定义 :
<timestamp || mySampleTask>
流定义:
http | httpclient | log
部署属性:
app.http.port=81
app.httpclient.body=name=composedTask&arguments=--increment-instance-enabled=true
app.httpclient.http-method=POST
app.httpclient.url=http://localhost:9393/tasks/executions
app.httpclient.headers-expression={'Content-Type':'application/x-www-form-urlencoded'}
虽然实现组件很容易http sink
,但如果流应用程序启动器能够提供一个开箱即用的组件,那就太好了。
我担心的另一个问题是在分布式环境中部署时发现 SCDF REST URL。