【发布时间】:2016-11-15 17:49:12
【问题描述】:
我对 oozie 很陌生。我有一个 oozie 工作流,它应该每天执行一次(因为它被安排为:0 4 * * *),但它会继续执行,因为一旦完成,作业会在 5-6 秒内再次提交。故事如下:- 它在预定时间执行,但由于参数值错误(下面列表中的第 3 和第 4)而失败:
${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')}
第 3 和第 4 应该选择当前周数 - 2 就像如果一年中的当前周数是 47,它应该选择 45。对于其余参数,它应该选择前一天的值。所以我认为第 3 和第 4 是错误的,首先我尝试了这个:
${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')}
现在这项工作并没有失败,但我上面提到的问题正在扼杀我。我试图回滚,但没有成功。即使我试图通过删除它的调度程序来阻止它,但仍然是一样的。知道可能出了什么问题吗?我将 oozie 与 HUE 一起使用。
【问题讨论】: