LINUX.ORG.RU

task queue? task executor?

 


0

2

Возникла задача: несколько раз в день необходимо выполнить скрипты\команды на удаленном сервере в ответ на действия пользователей. Так же не помешает простая визуализация состояния выполнения команд на вебстраничке (waiting\running\failed…) и оповещение на электронную почту (это опционально, можно в скрипты вынести). Поскольку область не моя, я даже не знаю правильно ли называю класс программ для решения подобных задач. По идее простенькую task queue можно довольно быстро написать на каком-нибудь питоне, но не хочется изобретать велосипед. Подскажите в какую сторону смотреть? Интересует исключительно опенсорс.

«Несколько раз в день» или «в ответ на действия пользователя»? Непонятно немного, это интерактивное-то что-то или по расписанию? Или надо запускать что-то интерактивное для пользователя по расписанию?

slowpony ★★★ ()
Ответ на: комментарий от slowpony

Псевдо-интерактивное т.к. пользователь не ждет окончания задачи, а делает другие пользовательские дела. Расписания нет. «Несколько раз в день» - написал для понимания масштабов нагрузки. Ну т.е. нагрузки почти нет. Параллельное выполнение задач тоже не особенно нужно.

mathieu ()
Ответ на: комментарий от mathieu

Т.е. штука, грубо говоря веб-морда, в которой пользователь натыкивает задачи, задачи встают в очередь и там их бекенд как-то молотит, а результат куда-то отправляет почтой. Т.е. по-компонетно это 1. морда, 2. сервер очередей (rabbitmq?), 3. какой-то или какие-то приложения, которые выполняют задания из очереди

Выглядит так, как будто придется строить велосипед.

slowpony ★★★ ()
Ответ на: комментарий от slowpony

Скорее это сервер очередей куда задания прилетают через вебовский API и какое-то приложение которое выполняет эти задания и обновляет состояние соответствующих задач.

mathieu ()

Создай каталог, натрави на него inotify чтобы выполнял то что туда закинуто. По желанию айнотифай можно заменить на крон раз в пять минут.

ya-betmen ★★★★★ ()

Если максимально просто, то достаточно будет взять Jenkins, если же нужен серьёзный заточенный под такой класс задач инструмент, то следует взять Apache Airflow.

/thread

WitcherGeralt ★★ ()

Slurm, pbs pro, sge (son of grid engine). Частично xcat2.

Первые три, это кластерные планировщики (менеджеры очередей). Последняя, это то, что было до ансибл и Солт стэк-а.

vyv ★★ ()
Ответ на: комментарий от ya-betmen

Разве статус задач не будет теряться где-то в недрах системы? В принципе работать будет, но преимуществ по сравнению с наколенной поделкой на питоне я не вижу.

mathieu ()
Ответ на: комментарий от WitcherGeralt

Спасибо за названия. Думаю Apache Airflow это таки оверкилл для моего случая, а Jenkins можно попробовать пощупать.

mathieu ()
Ответ на: комментарий от vyv

Ну не, этих всех товарищей я знаю не понаслышке. Это немного атомной бомбой по инфузориям в моем случае.

mathieu ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.