--- category: ru layout: project title: queued short: queued commentIssueId: 4 description: Демон для запуска задач в очередь вычислений hasgui: false developers: - Evgeniy Alelseev license: GPLv3 links: ---

## Информация

Демон для запуска задач в очередь вычислений. Был создан, как 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`. Именно данному пользователю будут принадлежать все созданные файлы.