mirror of
				https://github.com/arcan1s/arcanis.me.git
				synced 2025-10-28 12:23:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			171 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| ---
 | ||
| category: ru
 | ||
| hastr: true
 | ||
| layout: project
 | ||
| title: queued
 | ||
| short: queued
 | ||
| tags: linux, shell, демон, система
 | ||
| hasgui: false
 | ||
| hasdocs: false
 | ||
| developers:
 | ||
|     - Evgeniy Alekseev
 | ||
| license: GPLv3
 | ||
| links:
 | ||
| ---
 | ||
| <!-- info block -->
 | ||
| <h2><a href="#info" class="anchor" id="info"><span class="octicon octicon-link"></span></a>Информация</h2>
 | ||
| <p>Демон для запуска задач в очередь вычислений. Был создан, как proof-of-concept.</p>
 | ||
| 
 | ||
| {% 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 %}
 | ||
| 
 | ||
| <h3><a href="#devel" class="anchor" id="devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
 | ||
| <ul>
 | ||
|   {% for devel in page.developers %}
 | ||
|     <li>{{ devel }}</li>
 | ||
|   {% endfor %}
 | ||
| </ul>
 | ||
| 
 | ||
| <h3><a href="#license" class="anchor" id="license"><span class="octicon octicon-link"></span></a>Лицензия</h3>
 | ||
| <ul>
 | ||
|   <li>{{ page.license }}</li>
 | ||
| </ul>
 | ||
| <!-- end of info block -->
 | ||
| 
 | ||
| <!-- install block -->
 | ||
| <h2><a href="#install" class="anchor" id="install"><span class="octicon octicon-link"></span></a>Установка</h2>
 | ||
| 
 | ||
| <h3><a href="#instruction" class="anchor" id="instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
 | ||
| <ul>
 | ||
|   <li>Скачайте <a href="https://github.com/arcan1s/queued/releases" title="GitHub">архив</a> с актуальной версией исходных файлов.</li>
 | ||
|   <li>Извлеките из него файлы и установите приложение:
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| ./install.sh "/путь/к/корню/"
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| Если Вы хотите установить в <code>/</code>, Вы должны запустить это, как root:
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| sudo ./install.sh
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| Если путь не указан, пакет будет установлен в <code>/</code>.</li>
 | ||
| </ul>
 | ||
| 
 | ||
| <h3><a href="#dependencies" class="anchor" id="dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
 | ||
| <p>Все было протестировано на последних версиях зависимостей.</p>
 | ||
| <ul>
 | ||
|   <li>Bash (включая awk, grep, sed)</li>
 | ||
|   <li>systemd <i>(опционально, service-файл)</i></li>
 | ||
| </ul>
 | ||
| <!-- end of install block -->
 | ||
| 
 | ||
| <!-- howto block -->
 | ||
| <h2><a href="#howto" class="anchor" id="howto"><span class="octicon octicon-link"></span></a>Использование</h2>
 | ||
| <p>Если Вы хотите запустить демон, просто запустите</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| systemctl start queued
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| <p>Если Вы хотите включить автозагрузку демона, запутите</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| systemctl enable queued
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| <p>Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| cp /etc/queued.conf /новый/путь/к/queued.conf
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| <p>и отредактируйте его. Затем скопируйте исходный service-файл в <code>/etc</code>:</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| cp /usr/lib/systemd/system/queued.service /etc/systemd/system/queued-my-profile.service
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| <p>Замените следующую строку в этом файле:</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| ExecStart=/usr/bin/queued
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| <p>на</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| ExecStart=/usr/bin/queued -c /path/to/new/queued.conf
 | ||
| {% endhighlight %}
 | ||
| 
 | ||
| <h3><a href="#adding" class="anchor" id="adding"><span class="octicon octicon-link"></span></a>Добавление задачи</h3>
 | ||
| <ol>
 | ||
|   <li>Создайте скрипт с командой (например, с именем <code>script.sh</code>).</li>
 | ||
|   <li>Создайте файл с приоритетом (<code>script.sh.pr</code>) для данной задачи, если это необходимо.</li>
 | ||
|   <li>Создайте файл с именем пользователя (<code>script.sh.user</code>) для данной задачи, если это необходимо</li>
 | ||
|   <li>Скопируйте файлы в <code>$WORKDIR</code></li>
 | ||
| </ol>
 | ||
| <p>Также Вы можете воспользоваться <code>add_queued</code>.</p>
 | ||
| 
 | ||
| <h2><a href="#configuration" class="anchor" id="configuration"><span class="octicon octicon-link"></span></a>Настройка</h2>
 | ||
| <p>Все настройки хранятся в <code>/etc/queued.conf</code>. После редактирования, Вы должны перезапустить демон</p>
 | ||
| 
 | ||
| {% highlight bash %}
 | ||
| systemctl restart queued
 | ||
| {% endhighlight %}
 | ||
| <!-- end of howto block -->
 | ||
| 
 | ||
| <!-- config block -->
 | ||
| <h3><a href="#options" class="anchor" id="options"><span class="octicon octicon-link"></span></a>Опции</h3>
 | ||
| <table>
 | ||
|   <tr>
 | ||
|     <th>WORKDIR</th>
 | ||
|     <td>Полный путь к директории с исходными файлами задач. По умолчанию <code>/var/lib/queued/work</code>. Эта директория должна содержать исходные скрипты <code>script-name</code>, файл с приоритетом (если необходимо) <code>script-name.pr</code> и файл с именем пользователя (если необходимо) <code>script-name.user</code>.</td>
 | ||
|   </tr>
 | ||
|   <tr>
 | ||
|     <th>JOBDIR</th>
 | ||
|     <td>Полный путь к директории с запущенными задачами. По умолчанию <code>/var/lib/queued/job</code>. Все файлы будут перемещены сюда.</td>
 | ||
|   </tr>
 | ||
|   <tr>
 | ||
|     <th>QUEUEFILE</th>
 | ||
|     <td>Полный путь к файлу с очередью вычислений. По умолчанию <code>/var/lib/queued/queue</code>.</td>
 | ||
|   </tr>
 | ||
|   <tr>
 | ||
|     <th>PRIORITY</th>
 | ||
|     <td>Стандартный приоритет. По умолчанию <code>0</code>. Чем выше значение, тем выше приоритет задачи.</td>
 | ||
|   </tr>
 | ||
|   <tr>
 | ||
|     <th>SLEEPTIME</th>
 | ||
|     <td>Интервал обновлений в минутах. По умолчанию <code>5</code>.</td>
 | ||
|   </tr>
 | ||
|   <tr>
 | ||
|     <th>STARTASUSER</th>
 | ||
|     <td>Стандартное имя пользователя. По умолчанию <code>root</code>. Именно данному пользователю будут принадлежать все созданные файлы.</td>
 | ||
|   </tr>
 | ||
| </table>
 | ||
| <!-- end of config block -->
 | ||
| 
 | ||
| <!-- gui block -->
 | ||
| <!-- end of gui block -->
 |