arcanis.me/ru/projects/_posts/2013-12-20-queued.md
2016-02-02 00:55:13 +07:00

6.3 KiB
Raw Blame History

permalink category hastr layout title short tags hasgui hasdocs developers license links
ru/projects/queued ru true project queued queued linux, shell, демон, система false false
Evgeniy Alekseev
GPLv3

Демон для запуска задач в очередь вычислений. Был создан, как proof-of-concept.

$ queued --help
Simple daemon written on BASH for starting jobs to queue of calculations

Usage: queued [ -c /etc/queued.conf ] [ -v | --version ] [ -h | --help ]
Parametrs:
  -c               PATH     - path to configuration file. Default is '/etc/queued.conf'

  -v   --version            - show version and exit
  -h   --help               - show this help and exit
$ add_queued --help
add_queued [ -c /etc/queued.conf ] [ -p NUM ] [ -u USER ] [ -h | --help ] /path/to/script

Parameters:
    -c               PATH     - path to configuration file. Default is '/etc/queued.conf'
    -p               NUM      - job priority
    -u               USER     - username
    -h   --help               - show this help and exit

Разработчики

{% for devel in page.developers %}

  • {{ devel }}{% endfor %}

Лицензия

  • {{ page.license }}

Установка

Инструкция

  • Скачайте архив с актуальной версией исходных файлов.

  • Извлеките из него файлы и установите приложение:

    ./install.sh "/путь/к/корню/"
    

    Если Вы хотите установить в /, Вы должны запустить это, как root:

    sudo ./install.sh
    

    Если путь не указан, пакет будет установлен в /.

Зависимости

Все было протестировано на последних версиях зависимостей.

  • Bash (включая awk, grep, sed)
  • systemd (опционально, service-файл)

Использование

Если Вы хотите запустить демон, просто запустите

systemctl start queued

Если Вы хотите включить автозагрузку демона, запутите

systemctl enable queued

Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл

cp /etc/queued.conf /новый/путь/к/queued.conf

и отредактируйте его. Затем скопируйте исходный service-файл в /etc:

cp /usr/lib/systemd/system/queued.service /etc/systemd/system/queued-my-profile.service

Замените следующую строку в этом файле:

ExecStart=/usr/bin/queued

на

ExecStart=/usr/bin/queued -c /path/to/new/queued.conf

Добавление задачи

  1. Создайте скрипт с командой (например, с именем script.sh).
  2. Создайте файл с приоритетом (script.sh.pr) для данной задачи, если это необходимо.
  3. Создайте файл с именем пользователя (script.sh.user) для данной задачи, если это необходимо
  4. Скопируйте файлы в $WORKDIR

Также Вы можете воспользоваться add_queued.

Настройка

Все настройки хранятся в /etc/queued.conf. После редактирования, Вы должны перезапустить демон

systemctl restart queued

Опции

WORKDIR Полный путь к директории с исходными файлами задач. По умолчанию /var/lib/queued/work. Эта директория должна содержать исходные скрипты script-name, файл с приоритетом (если необходимо) script-name.pr и файл с именем пользователя (если необходимо) script-name.user.
JOBDIR Полный путь к директории с запущенными задачами. По умолчанию /var/lib/queued/job. Все файлы будут перемещены сюда.
QUEUEFILE Полный путь к файлу с очередью вычислений. По умолчанию /var/lib/queued/queue.
PRIORITY Стандартный приоритет. По умолчанию 0. Чем выше значение, тем выше приоритет задачи.
SLEEPTIME Интервал обновлений в минутах. По умолчанию 5.
STARTASUSER Стандартное имя пользователя. По умолчанию root. Именно данному пользователю будут принадлежать все созданные файлы.