У меня несколько сложный рабочий процесс Оози, и я хотел бы видеть некоторые свойства в разных точках потока. Очевидным решением является просто написать сообщение для журналов.Возможно ли зарегистрировать сообщение из рабочего процесса Oozie без его убийства
Я прошел через official documentation, и кажется, что единственным действием, которое поддерживает ведение журнала, является действие Kill!
Есть ли способ для регистрации набора свойств без уничтожения рабочего процесса?
Update (чтобы предоставить более подробную информацию)
Итак, представьте, что я (упрощенно) рабочий процесс выглядит примерно так:
<workflow-app name="myWorkflow" xmlns="uri:oozie:workflow:0.5">
<start to="action1"/>
<kill name="Kill">
<message>Failed: error ${myField}</message>
</kill>
<action name='action1'>
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<main-class>my.Class</main-class>
<arg>${myArgument}</arg>
<capture-output/>
</java>
<ok to="action2" />
<error to="Kill" />
</action>
<action name='action2'>
<ok to="End" />
<error to="Kill" />
</action>
<end name="End"/>
</workflow-app>
Внутри процесса я получил поля под названием $ {MyField}, $ {myArgument}, $ {jobTracker} и $ {nameNode}. Некоторые из них являются свойствами, установленными процессом запуска, другие будут установлены классом Java класса I из «action1». Между выполнением «action1» и «action2» я хотел бы записывать значения этих полей. Меня не волнует, куда записываются значения, я просто должен уметь видеть, что значения.
Я НЕ хочу называть мое действие «убить» для ведения журнала, потому что важно, чтобы выполнялось действие «action2».
Вы имели в виду элемент 'message' в узле' kill'? О каких журналах вы говорите и какие свойства вы хотите распечатать? – YoungHobbit
@ YoungHobbit, я добавил несколько подробностей к вопросу, который должен объяснить проблему более подробно. Короткий ответ заключается в том, что я хочу регистрировать любую переменную, которая может использоваться как выражение Oozie. Мне все равно, какие журналы я пишу, просто что-то, что я могу прочитать позже. – Stormcloud
'$ {myField}, $ {myArgument}, $ {jobTracker} и $ {nameNode}' все они будут определены в файле 'job.properties'. что вы подразумеваете под «другими», будет задан классом Java, который я вызываю из «action1». «Вы хотите написать некоторые свойства во время одного действия, а затем захотите использовать их в следующих действиях, так как это другой механизм. Я уверен, что вам нужно здесь. – YoungHobbit