Локальная автоматизация рабочих процессов с помощью логики ветвления - PullRequest
2 голосов
/ 21 мая 2019

Я использовал Apache Oozie и Airflow для автоматизации рабочих процессов в кластерах Hadoop, что легко для определения логики ветвления.

Теперь я чувствую, что нуждаюсь в той же самой платформе для локальной автоматизации простого конвейера на компьютере с Linux. Этот конвейер состоит из сценариев Bash, сценариев Python и логики ветвления и распараллеливания (которая решает, какие и сколько заданий выполнять в следующем на основе результатов предыдущего); вывод должен быть записан в локальную файловую систему.

Я пытаюсь автоматизировать это с Oozie, работающим локально. Но я чувствую, что это может быть излишним, не так ли? Люди действительно используют Oozie для простых задач автоматизации? Или есть лучшие инструменты / рамки для того, что я пытаюсь сделать?

Ответы [ 2 ]

2 голосов
/ 29 мая 2019

Попробуйте Sparrow6 - независимая от языка инфраструктура автоматизации, которая выполняет задачи - плагины, написанные на многих языках (Perl, Python, Bash, Ruby, Powershell). DSL высокого уровня - Perl6, например:

#!perl6

directory "foo/bar"; # create directory, this is a core plugin

bash "uptime"; # execute Bash scripts, this is a core plugin

task-run "custom task", "cool-task" # execute custom plugin, created by user

Теперь, когда создает плагин , вы можете вернуть ему состояние и обработать это состояние внутри кода DSL:

my %state = task-run "get balance", "ATM", %( action => "get_balance" );

if %state<balance> > 0 {

  task-run "withdraw cash", "ATM", %(
    amount => %state<balance>
  )
}

Вот идея, как вы можете реализовать конвейеры / ветки через плагины и состояния.

0 голосов
/ 22 мая 2019

Воздушный поток считается лучшим вариантом.Воздушный поток намного удобнее для пользователя и имеет гораздо большее сообщество пользователей.Воздушный поток имеет более интуитивный веб-интерфейс и более универсален.

Воздушный поток также считается более эффективным ветвлением.

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

...