oozie中事件触发input-events和done-flag
样例如下:
<coordinator-app name="test_job" frequency="${coord:days(1)}" start="${job_start}" end="${job_end}"
timezone="GMT+08:00" xmlns="uri:oozie:coordinator:0.2">
<controls>
<concurrency>1</concurrency>
</controls>
<datasets>
<dataset name="input_data" frequency="${coord:days(1)}"
initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
<done-flag>_SUCCESS</done-flag>
</dataset>
</datasets>
<input-events>
<data-in name="input" dataset="input_data">
<instance>${coord:current(-1)}</instance>
</data-in>
</input-events>
<action>
<workflow>
<app-path>${application_path}</app-path>
<configuration>
<property>
<name>nominalformateDate</name>
<value>${coord:formatTime(coord:nominalTime(), "yyyyMMdd")}</value>
</property>
<property>
<name>user_name</name>
<value>${coord:user()}</value>
</property>
<property>
<name>nominal_date</name>
<value>${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), "yyyy-MM-dd")}</value>
</property>
</configuration>
</workflow>
</action>
</coordinator-app>
当某个coordinator job 开始执行时,oozie会首先检查所有的input-events是否都已满足条件,主要检查以下内容:uri-template
1、uri-template 指定路径的文件或文件夹是否已经存在;
2、done-flag 指定的文件是否存在。
只有当input-events满足了设置的条件时,工作流才会切换到runing状态,否则将一直处于wait状态,并时刻监视指定的文件或文件夹,一但input-events满足了,工作流会立即进入running状态。
done-flag 的设置一般有三种情况:
1、直接不设置 done-flag 标签,如下:
<dataset name="input_data" frequency="${coord:days(1)}" initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
</dataset>
oozie 将默认done-flag 为 '_SUCCESS',所以需要满足 uri-template 指定路径的文件夹下存在 _SUCCESS 文件 ,job才触发执行。
2、设置done-flag 标签,但值为空,如下:
<dataset name="input_data" frequency="${coord:days(1)}" initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
<done-flag></done-flag>
</dataset>
oozie 则直接检测 uri-template 指定路径的文件或文件夹是否存在,只要存在就直接触发 job执行。
3、设置done-flag 标签,值不为空,如下:
<dataset name="input_data" frequency="${coord:days(1)}" initial-instance="${job_start}" timezone="GMT+08:00">
<uri-template>${monitor_workflow_run_status_path}</uri-template>
<done-flag>trigger.dat</done-flag>
</dataset>
oozie 则直接检测 uri-template 指定路径的文件夹下是否存在done-flag指定的文件如本例的 trigger.dat 文件,只要存在就触发 job执行。
oozie中事件触发input-events和done-flag的更多相关文章
- Yii中事件触发机制
控制器初始化中添加事件处理方法,在需要触发的地方直接触发 public function init() { parent::init(); // TODO: Change the autogenera ...
- onclick事件触发 input type=“file” 上传文件
添加按钮: <input type="button" name="button" value="浏览" onclick="j ...
- input输入中文时,拼音在输入框内会触发input事件的问题。
问题描述: 监听文本输入框的input事件,在拼写汉字(输入法)但汉字并未实际填充到文本框中(选词)时会触发input事件,如图: 需要完成的需求就是在输入阶段不触发input中的事件,选词之后文字落 ...
- SQL Server 扩展事件(Extented Events)从入门到进阶(2)——在GUI中创建基础扩展事件
本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 第一篇文章中提到了如何在Profiler中创建跟踪(trace),并以服务器端(server-side)跟 ...
- 042——VUE中组件之子组件使用$on与$emit事件触发父组件实现购物车功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- input、textarea等输入框输入中文时,拼音在输入框内会触发input事件的问题
监听文本输入框的input事件,在拼写汉字(输入法)但汉字并未实际填充到文本框中(选词)时会触发input事件,如图: 但是在很多情况下,只需要输入到输入框的中文字符. 解决办法: 通过查阅资料得知在 ...
- jquery点击复选框触发事件给input赋值
体验效果:http://keleyi.com/keleyi/phtml/jqtexiao/31.htm 代码如下: <!DOCTYPE html> <html xmlns=" ...
- Android中Touch事件分析--解决HorizontalScrollView滑动和按钮事件触发问题
之前写过关于HorizontalScrollView滑动和按钮事件触发问题,但是不能所有的情况,最近几天一直在想这个问题,今天有一个比较好的解决思路,最终应用在项目里面效果也很好,首先说明一下功能: ...
- ListView中的组件Button的OnClick事件触发时机
Android开发时,ListView中的组件Button的OnClick事件必须在ListView之外的组件事件触发后才能触发? 此处ListView无OnItemClick事件,而且ListVie ...
随机推荐
- 用thinkphp操作session
写了一段代码,对session进行一些常用的操作: <?php namespace Home\Controller; use Think\Controller; class Demo1Contr ...
- setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT
setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT /*检测网线非法断开*/ setsockopt(iSockFd, SOL_SOCKET, S ...
- tableview的两个重用cell方法
今天在学习IAP的时候无意间看到原来 tableView: cellForRowAtIndexPath:方法中有两个获得重用cell的方法,一直以来都是用 UITableViewCell *cel ...
- Minimum edit distance(levenshtein distance)(最小编辑距离)初探
最小编辑距离的定义:编辑距离(Edit Distance),又称Levenshtein距离.是指两个字串之间,由一个转成还有一个所需的最少编辑操作次数.许可的编辑操作包含将一个字符替换成还有一个字符. ...
- 每日算法之二十三:Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...
- excel 获取中文拼音首字母
excel 获取中文拼音首字母 CreateTime--2018年5月31日08:50:42 Author:Marydon 1.情景展示 想要获取姓名的拼音首字母 2.实现方式 通过使用excel ...
- Python 3.x 连接 pymysql 数据库
首先,需要安装库: 使用 pycharm IDE,如PyCharm,可以使用 project python 安装第三方模块. [File] >> [settings] >> [ ...
- Linux-软件包管理-rpm命令管理-查询
rpm -q httpd 查看apache包是否已经安装 rpm -qa 查看所有已经安装的包rpm -qa | grep httpd 查询包含和apache关键字相关联的所有包信息 rpm -qi ...
- Python3.2官方文档翻译--输出格式化
第八章 标准库二 第二部分涵盖了很多更能满足专业开发者需求的高级模块.这些模块在小脚本中非常少出现. 8.1 输出格式化 Reprlib模块为大型的或深度嵌套的容器缩写显示提供了repr()函数的一个 ...
- 用Jedis操作redis示例一,Key,value HashMap
简单的key,value形式 public class RedisDemo { public static void main(String[] args) { Jedis jedis = new J ...