Азкабан: условные казни в рабочем процессе

У меня есть требование ввести условное выполнение в мой рабочий процесс. Например: если выполняется определенное условие, то должен выполняться определенный рабочий процесс. Если нет, другой рабочий процесс должен быть выполнен.

Насколько я понимаю, в Azkkaban нет прямой функции, поддерживающей это. Только Узи это поддерживает. Хотите знать, как пользователи Azkkaban справляются с этим? Я уверен, что каждый должен столкнуться с этим в той или иной форме.

Спасибо, Кранти

3 ответа

FWIW, мы делаем это в наших проектах Azkaban, проверяя условие в сценарии оболочки. Затем сценарий использует API Azkaban для запуска другого рабочего процесса, если выполняется условие.

#!/bin/bash

# check some condition
check=`…`;

if [ ! -z "$check" ]; then

  # Authenticate ourselves to Azkaban, capturing the session id
  auth=`curl -k -X POST --data "action=login&username=my_user&password=my_password" https://localhost:8443 | jq '.["session.id"]' | sed -e 's/\"//g'`;

  # Run the workflow using the Auth session id, capturing the response
  run=`curl -k --get --data "session.id=$auth" --data 'ajax=executeFlow' --data 'project=my_project' --data "flow=my_flow" https://localhost:8443/executor  | jq '.message'`;

  # If $run response does not contain "successfully" it failed
  if [[ $run = *successfully* ]]; then 
      echo "'$3': RUN STARTED"; 
  else 
      echo "'$3': RUN ERROR"; 
      exit 1; 
  fi; 

else …

Вы должны знать, что запущенный рабочий процесс выполняется в своем собственном исполнении.

Дорожная карта Azkaban гласит, что эта функция есть только в их будущей дорожной карте, и, следовательно, ее нельзя так легко настроить. Единственный оставленный вариант - обрабатывать это программно.

Если у кого-то есть лучшие предложения, пожалуйста, дайте мне знать.

спасибо, Кранти

Вы можете использовать плагин триггера в Azkaban, чтобы сделать это. Вот пример простого примера, который я придумал: https://gist.github.com/feliperazeek/faae2fed6aef780442a4.

Вы можете реализовать свою собственную реализацию Условий.

Другие вопросы по тегам