Задать вопрос

Очередь задач

Всем привет.

Возникла необходимость в софте для linux, реализующем очередь задач. Есть что-нибудь не слишком тяжеловесное?

Вот как я себе это представляю. Несколько процессов добавляют задачи в очередь. Эти задачи выполняются в порядке добавления. Пока предыдущее задание не выполнено, следующее не запускается.

Если вдруг окажется, что софта такого типа навалом, подскажите что-нибудь, что есть в пакетах CentOS.

Заранее спасибо.
  • Вопрос задан
  • 4856 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
IlyaEvseev
@IlyaEvseev
Opensource geek
Поиск в Гугле «linux simple jobs queue» находит Task Spooler:
www.ubuntugeek.com/task-spooler-personal-job-scheduler.html
-S [num] set the number of max simultanious jobs of the server.
Ответ написан
Комментировать
script88
@script88
Ответ написан
Комментировать
inlanger
@inlanger
Django программист
Есть очень простая очередь задач для python — python-rq.org/
А с помощью питона вы можете запускать консольные команды, программы, скрипты и т.п.

Если хотите еще проще — напишите свою на кроне, файлах и баше.
Ответ написан
Комментировать
@joneleth
Насколько не тяжеловесное? Jenkins?
Ответ написан
Комментировать
IlyaEvseev
@IlyaEvseev
Opensource geek
Велосипед:

Подготовка:
groupadd jobadd
mkdir -m770 /var/lib/jobqueue
chown root:jobadd /var/lib/jobqueue


/usr/local/bin/jobadd:
#!/bin/sh
f=`/var/lib/jobqueue/date +%Y.%m.%d-%H%M%S-$$`
echo "$@" > "$f"


/usr/local/sbin/jobexec:
#!/bin/sh
cd /var/lib/jobqueue
while : ; do
    for f in *-*-*; do
        test "$f" = "*-*-*" && break
        logger "jobexec: $f `cat $f`"
        sh "$f"
        rm "$f"
    done
    sleep 30
done
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы