Как настроить это действие электронной почты глобально в Oozie? - PullRequest
0 голосов
/ 23 октября 2019

У меня около 50 таких рабочих процессов, ниже приведен пример кода,

<workflow-app name="exit_1_email_test" xmlns="uri:oozie:workflow:0.5">
    <start to="ssh-8e73"/>
    <action name="Kill">
        <email xmlns="uri:oozie:email-action:0.2">
            <to>***</to>
            <cc>***</cc>
            <subject>exit1_email_test workflow failed</subject>
            <body>exit1_email_test workflow failed on</body>
        </email>
        <ok to="Kill-kill"/>
        <error to="Kill-kill"/>
    </action>
    <kill name="Kill-kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <action name="ssh-8e73">
        <ssh xmlns="uri:oozie:ssh-action:0.1">
            <host>ubuntu@ip-address.ec2.internal</host>
            <command>bash /home/ubuntu/exit_1.sh</command>
            <capture-output/>
        </ssh>
        <ok to="End"/>
        <error to="Kill"/>
    </action>
    <end name="End"/>
</workflow-app>

Я настраиваю действие электронной почты для рабочих процессов, чтобы я мог получать уведомления в случае любых сбоев.

Параметры в действии электронной почты будут в основном такими же, за исключением имени рабочего процесса.

Как я могу настроить это действие электронной почты глобально в Oozie вместо того, чтобы настраивать его в каждом рабочем процессе?

1 Ответ

1 голос
/ 23 октября 2019

Один из вариантов - поместить настроенное действие электронной почты в отдельный рабочий процесс и выполнить его в качестве вспомогательного рабочего процесса в каждом из 50 рабочих процессов:

Действие вспомогательного рабочего процесса

...
    <action name="send-email">
        <sub-workflow>
            <app-path>[PATH-TO-EMAIL-WORKFLOW-FILE]</app-path>
            <propagate-configuration/>
            <configuration>
                <property>
                    <name>[WF-NAME-OR-OTHER-PROPERTY-NAME]</name>
                    <value>[PROPERTY-VALUE]</value>
                </property>
                ...
            </configuration>
        </sub-workflow>
        <ok to="End"/>
        <error to="Kill"/>
    </action>
 ...
...