2016-11-15 152 views
1

我对oozie很新颖。我有一个应该每天执行一次的oozie工作流程(因为它的计划如下:0 4 * * *),但是它会一直执行,因为一旦完成,它将在5-6秒内再次提交。这里是故事: - 它是在计划的时间执行,但它是则params的错误值失败原因(第3和第4个在下面的列表):oozie作业一再执行

${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'YYYY')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'MM')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'DAY'), 'w')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'DAY'), 'YYYYww')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd 00:00:00')} 

第三和第四位应该拿起目前的周数 - 2就好像当前的一周中没有一个是47,它应该选择45个。对于其余的参数,它应该提取前一天的值。所以我认为第三和第四是错误的,首先我试过这个:

${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'YYYY')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'MM')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'WEEK'), 'w')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'WEEK'), 'YYYYww')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd 00:00:00')} 

但没有解决。所以我改变他们到这个:

${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'YYYY')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'MM')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -14, 'DAY'), 'w')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -14, 'DAY'), 'YYYYww')} 
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd 00:00:00')} 

现在的工作没有失败,但我上面提到的问题是杀了我。我试图回滚,但没有成功。即使我试图通过删除调度程序来阻止它,但仍然是相同的。任何想法可能会出错?我和HUE一起使用oozie。

回答

1

我有相当了解here约Oozie的与HUE如何运作这帮助我解决这个问题的解决方案。

查找的这部分(有很多的其他重要信息一起): 如果您设置工作流的开始时间是在过去,那么Oozie的会很乐意安排工作流运行多次回直到它赶上当前时间。