arcanis.me/ru/projects/queued.md
2016-01-26 11:45:49 +03:00

6.3 KiB
Raw Blame History

category hastr layout title short tags hasgui hasdocs developers license links
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. Именно данному пользователю будут принадлежать все созданные файлы.