🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 开始任务组件 ### 1.什么是开始任务组件? 开始任务组件是开启任务流的一个重要的组件,用户可以设置开始时间或者访问API的方式开启任务流。 ### 2.开始任务组件的核心功能 1. 支持时间模式和API模式开启任务流。 2. 时间模式包括定时读取和执行一次 。 3. 定时读取支持设置读取间隔,也支持设置cron表达式 4. 执行一次支持选择激活任务为起点,或者自定义开始时间。 ### 3.如何设置开始任务组件? :-: ![](https://img.kancloud.cn/04/33/04336bb474299c83154cb6c961d8793d_1909x957.png =480x) * 点击创建按钮,进入任务流配置面板默认显示「开始任务」组件 * 鼠标移动到「开始任务」,显示设置按钮 * 未完善开始任务组件边框显示为红色,并且一直提示:请设置开始时间, * 配置完成后提示消失,配置完成后为边框变为蓝色 :-: ![](https://img.kancloud.cn/97/4b/974b6b934adcd14a7acc7af10e87dc2c_394x302.png =240x) * 点击设置按钮 * 默认展示执行模式、执行策略、定时频率等内容 * 执行模式有两种:时间模式和API请求 * 选择时间模式,用户可以设置执行策略,包括定时执行和执行一次 * 定时执行:用户可以设置一个定时开始时间(例:每2小时执行一次),或者输入Cron表达式。 :-: ![](https://img.kancloud.cn/a6/81/a681b67115b144d4961e270677d1d3de_1346x726.png =360x) * 用户选择定时频率表或者cron表达式时,要求显示出最近五次执行时间 * 若用户设置了定时间隔时间,则第一次显示当前的时间,可四舍五入精确到分钟,然后根据用户设置的间隔进行一个示例展示 如:定时频率30分钟,最近5次执行时间展示: 2019-03-08 14:30 2019-03-08 15:00 2019-03-08 15:30 2019-03-08 16:00 2019-03-08 16:30 * 若利用cron表达式设置了明确的开始时间,则第一次时间为用户设置的时间,然后依次展示最近五次执行时间 如:每周周一十点钟开始 2019-03-11 10:00 2019-03-18 10:00 2019-03-25 10:00 2019-04-01 10:00 2019-04-08 10:00 :-: ![](https://img.kancloud.cn/e2/ad/e2adeb9ed147789646a11dea66601a0a_844x648.png =360x) * 执行一次:需要用户指定开始时间。 * 两个选项:激活任务为起点、自定义 * 选择「激活任务为起点」:当用户点击激活任务时,调度任务会即刻开始。 :-: ![](https://img.kancloud.cn/03/e5/03e5fa5110627b7644bcc97db611361a_1356x716.png =360x) * 选择「自定义」:点击选择框,会下来日期时间组件,可选择具体的开始时间,默认选中当前时间。 :-: ![](https://img.kancloud.cn/d0/6f/d06fa6fdceffe8e9c91de67d0be07e8f_1608x1184.png =360x) * 选择API请求 * 用户选择该模式后,可通过外部调用API地址的方式实现该任务流的调度开始。 * 系统会针对该任务流提供一个API地址,用户点击复制即可复制到粘贴板。 * 在任务流DAG为开启的状态下,外部请求该API地址会开始该任务流的调度。 :-: ![](https://img.kancloud.cn/f5/6b/f56bd6e9aed9d327fcfbc11a9b30a3d6_1340x618.png =360x) **API调用操作步骤** 1. 任务流设置完成后,确保打开任务流开关按钮,才可以接受API调用请求。 ![](https://img.kancloud.cn/65/e3/65e3d033e85279e7836b9b12d4917f91_1280x433.png) 2. 在任务流详情页(当前页面)打开浏览器开发工具 3. 进入开发者工具的Console标签页 4. 粘贴代码,将代码中的id改成网址上的id,按回车键,即可激活任务流 ![](https://img.kancloud.cn/24/a5/24a5760f745864e06df5842d8a089660_1280x630.png) ``` (async function(dagId) { const response = await fetch(`${window.location.origin}/v2/dags/${dagId}/activate`, { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: localStorage.getItem('token') }, }) const json = await response.json() console.log(json) })(1) ``` 任务组件激活并成功完成。 ![](https://img.kancloud.cn/de/e0/dee090eda216a0f46056946172d1dcc2_1280x445.png) <br/><br/> * 任务流激活后,支持用户点击设置按钮查看具体详情。 * 如,开始任务组件 :-: ![](https://img.kancloud.cn/1a/45/1a451cf2baffd6e2408ca10f37ecf0a3_2786x1366.png =360x)