idlesign / torrt

Automates torrent updates for you
https://github.com/idlesign/torrt
BSD 3-Clause "New" or "Revised" License
112 stars 19 forks source link

Add systemd service for run_bots [RUS] #42

Closed theonedemon closed 2 years ago

theonedemon commented 5 years ago

Вместо супервизора можно использовать systemd, вот пример ( можно добавить в доку ):

# /etc/systemd/system/torrt_run_bots.service
[Unit]
Description=torrt telegram bot commands handler
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
#User=root
TimeoutSec=30
ExecStart=/usr/local/bin/torrt run_bots

[Install]
WantedBy=multi-user.target

после выполнить следующие команды:

systemctl enable torrt_run_bots
systemctl start torrt_run_bots
idlesign commented 5 years ago

Спасибо.

Да, можно добавить в документацию, жду запроса на слияние.

Только нужно обратить внимание на то, какие конкретно значения мы предлагаем пользователю как умолчательные. Например: неясно, почему RestartSec именно 30; зачем указан и закомментирован пользователь; зачем используется StartLimitIntervalSec (эта опция кочевала из секции в секцию в разных версиях systemd); правильно ли зашивать путь к исполняемому файлу, или сделать, как Антон уже сделал в документации к supervisord https://github.com/idlesign/torrt/blob/master/docs/source/bot.rst#supervisor-configuration.

theonedemon commented 5 years ago

User=root

закоментирован, так как по умолчанию будет root, и смотря у кого как настроено должен выбирать под каким пользователем запускать torrt. В 90% случаев будет root как и у меня на nas-сервере

TimeoutSec=30

Таймаут в секундах, сколько ждать system отработки старт/стоп команд.

StartLimitIntervalSec

есть хорошая статья

просто смысл ставить отдельный софт, если уже есть systemd

idlesign commented 5 years ago

Я не к тому, что нужно что-то ставить (жду запрос на слияние обновлённой документации, он же PR/Pull Request). А к тому, чтобы не навязывать пользователю непонятно чем обоснованные настройки.

Например, что даст ожидание в 30 вместо умолчательных 90 непонятно. Также как непонятно, зачем нам рьяно рестартовать сервис выкручивая StartLimitIntervalSec. Если людям понадобится что-то поднастроить, то они вполне могут это сделать, воспользовавшись документацией (статья, кстати, так себе, вот это лучше).

А мы у себя можем в документации предложить минимально работающий вариант (аналогичный пример с supervisord я уже приводил).