之前我们一起学习过xxl-job调度carte,采用的xxl-job执行器方式,不了解的可以查看《kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans
》
今天我们一起来学习下使用xxl-job直接使用http调用carte服务来执行job或者trans,话不多说,开干。
1、增强xxl-job
xxl-job原生运行模式不支持http方式,我修改了源码使xxl-job可以直接支持http。
2、执行器配置
AppName和名称自己按照需求自定义,注册方式这里选择手动录入,我这里只启动了一个carte服务,机器地址为http://127.0.0.1:8089/kettle/executeJob/,集群的话机器地址填写多个,逗号分开即可。
3、 任务配置
新增任务时,我们选择我们上面配置的执行器(carte集群),运行模式我们选择HTTP。调度类型选择CRON且设置CRON表达式,任务参数设置如下:
{"method": "POST","headers": {"Authorization": "Basic Y2x1c3RlcjpjbHVzdGVy","Content-Type": "application/x-www-form-urlencoded"},"parameters": {"rep": "local","job": "test","level": "Basic"},"body": {} }
4、手动执行任务
启动carte服务,点击手动运行任务,kettle job 可以正常调度,如下图所示