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

Информация

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

{% highlight bash %} $ 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 {% endhighlight %} {% highlight bash %} $ 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 {% endhighlight %}

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

Лицензия

Установка

Инструкция

Зависимости

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

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

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

{% highlight bash %} systemctl start queued {% endhighlight %}

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

{% highlight bash %} systemctl enable queued {% endhighlight %}

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

{% highlight bash %} cp /etc/queued.conf /новый/путь/к/queued.conf {% endhighlight %}

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

{% highlight bash %} cp /usr/lib/systemd/system/queued.service /etc/systemd/system/queued-my-profile.service {% endhighlight %}

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

{% highlight bash %} ExecStart=/usr/bin/queued {% endhighlight %}

на

{% highlight bash %} ExecStart=/usr/bin/queued -c /path/to/new/queued.conf {% endhighlight %}

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

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

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

Настройка

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

{% highlight bash %} systemctl restart queued {% endhighlight %}

Опции

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