The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск системного менеджера systemd 255, opennews (??), 07-Дек-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


179. "Выпуск системного менеджера systemd 255"  +1 +/
Сообщение от Tron is Whistling (?), 07-Дек-23, 22:28 
Честно? Системда - это то, чего реально не хватало для RAD (в котором D - не development, а deployment).
По мере того как я в неё ухожу всё дальше и дальше примитивных сервисов - оно мне нравится всё больше и больше.
Ответить | Правка | Наверх | Cообщить модератору

268. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 09-Дек-23, 01:46 
В каком месте для быстрого девляпания тебе понадобилась системдрянь и зачем ты вообще лазишь в нее при быстром девляпании, когда конфигурации максимально примитивные и одноразовые?

Недостаточно быстро загружаются или что, блжад?

Ответить | Правка | Наверх | Cообщить модератору

270. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 11:35 
А речь не о девляпании совершенно. Удивительно, но application deployment бывает и без девляпания )
Ответить | Правка | Наверх | Cообщить модератору

271. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 11:44 
Ды как сказать, ну вот надо аппликухе запустить 100500 демонов разной величины.
Под каждый из них отдельную баш-портянку - упорешься.
Ответить | Правка | К родителю #268 | Наверх | Cообщить модератору

275. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 09-Дек-23, 15:46 
> Под каждый из них отдельную баш-портянку - упорешься.

вот по отдельной системдряньпортянке - не упорешься. Репозиторий с собственными пакетами в которых оно завернуто - слишком сложно тоже, наширазработчекинеосилят, там rpm какой-то и вообще им некогда. Ну ок.
А что мешало написать ОДНУ на всех?

трипперы какие-то - просто слушать сокет даже в энтерпрайзном софте запретили или что?

кронтаб автоматически синхронизировать если нельзя снова просто нужное включить в пакет в виде отдельного (специально для жопоруких) файлика в crontab.d - тоже слишком сложное вот это все?

Ну ок. Ничего не хочу знать как траблшутить эту помойку потом.

На мой век юникс-систем еще наверное хватит. А там  - в рай, похоже, уже недолго осталось.

Ответить | Правка | Наверх | Cообщить модератору

276. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 16:00 
Так оно в RPM и завёрнуто.
Одну на всё не напишешь точно. У того же апача инит был вообще упоротым шизоидным порождением, а теперь - стройный и красивый. А этих тех же апачей надо запустить несколько. Юнит-файлы - это просто прелесть, в полтора десятка строк укладывается всё, при этом есть нормальный процесс контроль, зависимости, перезапуск...

> трипперы какие-то - просто слушать сокет даже в энтерпрайзном софте запретили

Всегда хорошо, если софт свой. А если надо вон то порождение разума запустить и дать ему сокет в качестве stdin - всё уже сложнее.

> кронтаб
> в виде отдельного (специально для жопоруких) файлика в crontab.d

А если мне этот кронтаб надо не каждые 5 минут, а три раза в день, и чтобы при пропусках не забывалось - мне уже ещё анакрон тащить? Ну его нафиг, системда делает и то, и другое.

Минутный крон занял дольше минуты? Всё, это 3.14ц, лепи блокировки. Если софт свой - снова всё просто. А если вот это вот порождение разума - нужна очередная портянка. С системдой проще - оно сервис дёрнуло, не успело - дёрнет в следующий интервал, а не второй раз во время работы первого. Плюс крону не так просто зависимости повесить, чтобы вот это вот до запуска например mysqld даже дёргаться не пыталось.

И т.д. и т.п., я говорю, чем дальше в лес - тем больше впечатлений.

Ответить | Правка | Наверх | Cообщить модератору

277. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 16:03 
Даже банальный хостинг взять.

systemd enable(start/stop/restart) httpd@php52
systemd enable(start/stop/restart) httpd@php53
systemd enable(start/stop/restart) httpd@php54
systemd enable(start/stop/restart) httpd@php55
systemd enable(start/stop/restart) httpd@php56
...
systemd enable(start/stop/restart) httpd@php83

ВСЁ!

Ответить | Правка | Наверх | Cообщить модератору

278. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 16:03 
И юнит-файл при это внезапно один.
Ответить | Правка | Наверх | Cообщить модератору

308. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 10-Дек-23, 20:49 
и если тебе понадобился второй или третий параметр - приехали.
А если еще и выясняется что один из них сломался...

Ответить | Правка | Наверх | Cообщить модератору

309. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 10-Дек-23, 22:05 
Всё проще, в общем случае нужен единственный параметр - конфиг-файл.
Ответить | Правка | Наверх | Cообщить модератору

316. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 11-Дек-23, 09:57 
> Всё проще, в общем случае нужен единственный параметр - конфиг-файл.

угу, у каждого отдельный.
Чур не я этого уродца потом чинить буду.


Ответить | Правка | Наверх | Cообщить модератору

320. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 10:24 
Пытаетесь запускать разные инстансы с одним и тем же конфигом? :)
Ответить | Правка | Наверх | Cообщить модератору

323. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 11-Дек-23, 12:56 
> Пытаетесь запускать разные инстансы с одним и тем же конфигом? :)

ну да, я -то умею настраивать апач, а не только ляпать sleep 120.

Ответить | Правка | Наверх | Cообщить модератору

324. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 16:32 
А речь разве о настройке апачей?

Речь вот об этом.

---

ExecStartPre=-/usr/bin/rm -f /etc/httpd/%i/run/httpd.pid
ExecStart=/opt/httpd/bin/httpd -f /etc/httpd/%i/httpd.conf $OPTIONS -DFOREGROUND
ExecReload=/opt/httpd/bin/httpd -f /etc/httpd/%i/httpd.conf $OPTIONS -k graceful

---

При этом каждому апачу замечательно подгрузится свой собственный конфиг. Который правда тоже в три строчки, и отличается парой переменных + загружаемым модулем PHP. А всё остальное подключается из общего конфига.

---

Define INSTANCE php81
Define PHP 8.1

ServerRoot "/etc/httpd/php81"

Listen <port>
LoadModule php_module /opt/php81/lib64/libphp.so

PHPIniDir /etc/httpd/php81.ini

Include /etc/httpd/httpd.conf

Ответить | Правка | К родителю #323 | Наверх | Cообщить модератору

325. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 16:34 
Но можно и не в три строчки, это на хостингах всё просто.
А так - заточенные под конкретные куски сервиса тоже есть.
Ответить | Правка | К родителю #324 | Наверх | Cообщить модератору

310. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 10-Дек-23, 22:41 
Сломался - так они по отдельности все запускаются, работают, прибиваются, логгируются, и т.п., а не гурьбой, в этом и прелесть.
Ответить | Правка | К родителю #308 | Наверх | Cообщить модератору

279. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 16:05 
systemd-networkd - это тоже вообще праздник какой-то
Ответить | Правка | К родителю #276 | Наверх | Cообщить модератору

282. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 09-Дек-23, 18:37 
> три раза в день, и чтобы при пропусках не забывалось - мне уже ещё анакрон тащить?

atd.

> Минутный крон занял дольше минуты

в кронтабе заданий с "* * * * *" вообще не должно быть. угадайте почему.

Ответить | Правка | К родителю #276 | Наверх | Cообщить модератору

289. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Аноним (175), 10-Дек-23, 02:45 
> в кронтабе заданий с "* * * * *" вообще не должно быть. угадайте почему.

Потому, что крон тупой как бревно. Ему скажут — он запустит. Все пойдут с крыши прыгать — он тоже прыгнет. В итоге ехал flock через flock. За флаги «-e» и «-r» крон ненавижу отдельно.

Ответить | Правка | Наверх | Cообщить модератору

298. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 10-Дек-23, 12:35 
> Потому, что крон тупой как бревно. Ему скажут — он запустит. Все

это юникс, тут было принято что инструменты простые и делают одну вещь. Что вам в винде не сиделось с его прекраснейшими триггерами в неменее прекрасном taskched.msc?
Сломается - просто переустановишь.

Все равно потом разобраться в этой вермишели невозможно.

Ответить | Правка | Наверх | Cообщить модератору

312. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 10-Дек-23, 22:44 
> Все равно потом разобраться в этой вермишели невозможно.

В вермишели баш-портянок для банального запуска из кронтаба фигни с блокировкой действительно разобраться становилось сложновато.

И да, гарантий, что вон та фигня, которая не самописная, не повиснет где-нибудь на обмене с сокетом дольше минуты, а потом проснётся, но вторая уже будет запущена параллельно - нет. И начинается flock через flock и flock'ом погоняет. Особенно весело на баше.

Ответить | Правка | Наверх | Cообщить модератору

297. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 10-Дек-23, 12:33 
> в кронтабе заданий с "* * * * *" вообще не должно
> быть. угадайте почему.

ну еще бывают нормально написанные программы - "работаем быстро, ресурсов жрем мало, полезно запускать почаще" и при этом оно либо stateless, какой-нибудь пурж кэшей, либо автор умеет в локи без посторонней помощи, потому что вообще-то никто и не обещал что руками два раза подряд не запустят просто по ошибке.

Но это не про софт написанный тяпляперами.

Ответить | Правка | К родителю #282 | Наверх | Cообщить модератору

313. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 10-Дек-23, 22:46 
Руками два раза подряд не запустят - это норм.
Главное, чтобы когда какая-нибудь очередная тяпляпвсёнаднствоюматьсервисина сдохнет, оно не начало каждую минуту запускаться, и не завершаться. С системдой вопрос таймаута опять же очень просто решается.
Ответить | Правка | Наверх | Cообщить модератору

311. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 10-Дек-23, 22:42 
Всё правильно ответили. Потому что крон тупой как бревно.

Ну и да, даже банальную рандомизацию впилить - не, у меня до системды был однострочник прямо в кронтабе с рандомизацией. Но блин, с системдой это всё тоже сильно упростилось до одного параметра.

Если проще - в системде собрали всё, что имеет регулярное использование для управления фоновыми задачами, этим и хорош.

Ответить | Правка | К родителю #282 | Наверх | Cообщить модератору

317. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 11-Дек-23, 10:01 
> Если проще - в системде собрали всё, что имеет регулярное использование для

нет. Собрали худшие идеи тяпляперов.
Которые вообще нельзя было тащить в прод.

И свалили в невменозную кучу.

Повторяю - распутать эту вермишель если не ты сам пять минут назад ее заплел - невозможно.

А регулярное использование - это вот, к примеру, просто запустить один процесс когда гарантировано готовы для него условия (и это вовсе не "попытались запустить еще один но не знаем чем кончилось")

Вот это да, регулярное. А ваше решение - ExecPre=sleep 120

Ответить | Правка | Наверх | Cообщить модератору

319. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 10:23 
Чо?
Таймер просто не запустит второй раз сервис, пока он первый раз не завершится.
Ответить | Правка | Наверх | Cообщить модератору

322. "Выпуск системного менеджера systemd 255"  +/
Сообщение от нах. (?), 11-Дек-23, 12:54 
> Чо?
> Таймер просто не запустит второй раз сервис, пока он первый раз не
> завершится.

ну и вот нахер нужен "сервис" который сломается от того что его запустили второй раз?

Время тяпляперов, и некоторые, смотрю, уже привыкли и даже удовольствие научились получать.


Ответить | Правка | Наверх | Cообщить модератору

326. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 21:36 
Зачем лепить флоки там, где нужна просто строгая очерёдность запуска?
Я по привычке всё ещё леплю, правда, просто от того, чтобы руками не запускали.
Но в целом системда это решает просто и приятно.

И да - сервисом может быть какая-нибудь сторонняя аппликуха, в которой о флоке вообще не знали. Вот обрабатывает она файл наложенный раз в минуту. И если чуть-чуть не успеет, SAN притормозил например - лучше таки запуск пропустить, а не получить повреждённый выход.

Ответить | Правка | Наверх | Cообщить модератору

327. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 21:37 
Можно конечно ради этого баш-портянку очередную с флоком нагородить, но, повторюсь, баш-портянки на каждый чих идут нафиг.
Ответить | Правка | Наверх | Cообщить модератору

328. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 11-Дек-23, 21:43 
И рандомизация - да, это не sleep(120). А просто RandomizedDelaySec=N. И можно больше не изголяться.
Ребята реально подумали о массовой виртуализации, где старт одной и той же задачи на каждый чих в один и тот же момент на сотне машин на ноде - это фаталити.
Ответить | Правка | Наверх | Cообщить модератору

335. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 13-Дек-23, 14:02 
> Всё правильно ответили.

с точностью до наоборот. рождение жирного процесса - дорогая операция,
поэтому задания "* * * * *" - первые кандидаты на оформление в демона,
который будет сам просыпаться, отрабатывать и снова засыпать.
блокировки от двойного запуска, блокировки доступа к ресурсам, логика уснуть
и проснуться (простые таймауты или что-то посложнее), обработка крашей и рестарт
будут проблемой этого демона.

Ответить | Правка | К родителю #311 | Наверх | Cообщить модератору

336. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 13-Дек-23, 15:19 
Ну да, предлагаю тебе оформить в таковые все сторонние аппликухи.
Ответить | Правка | Наверх | Cообщить модератору

337. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 13-Дек-23, 15:23 
в инсталляциях, которые я встречал, таких заданий было не более 3х штук.
легаси, монолиты, php (CMS ) или питон.
Ответить | Правка | Наверх | Cообщить модератору

338. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 13-Дек-23, 15:24 
в инсталляциях, которые я встречал, таких заданий было не более 3х штук.
легаси, монолиты, php (CMS типа bitrix) или питон (на эмбедовке, что было особенно смешно).
Ответить | Правка | К родителю #336 | Наверх | Cообщить модератору

339. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 13-Дек-23, 22:04 
Ну вот преобразование данных от nfcapd с помощью nfdump оформь мне демоном, что-ли.
Ответить | Правка | Наверх | Cообщить модератору

340. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 15-Дек-23, 11:46 
8000 руб/час. минималка тоже 8000 руб.

дорого ? тогда сам оформи, это бесплатно:

!#/bin/sh

while true; do

#запомнить время

nfdump преобразовать_данные

# подсчитать затраченное время

if [ $затраченное_время -le 59 ]; then
  /bin/sleep $(( 60 - #затраченное_время ))
fi

done

Ответить | Правка | Наверх | Cообщить модератору

341. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 15-Дек-23, 14:20 
А вот и баш-портяночки пошли. Идите нафиг, я уж лучше таймер от системды.
Ответить | Правка | К родителю #340 | Наверх | Cообщить модератору

342. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 15-Дек-23, 18:34 
> А вот и баш-портяночки пошли.

1) шелл-портянки. я настаиваю.
и на самом деле сэкономлено было немного. разве что двойного запуска гарантированно не будет.

2) та же логика на С:

int main() {
daemonize();
while(1) {

// запомнить время

nfdump_convert_data(); /* весь код от nfdump прямо там внутри */

// подсчитать затраченное время

if ( затраченное_время <= 59 ) {
  sleep( 60 - затраченное_время );
};
}

>  Идите нафиг, я уж лучше таймер от системды.

да уж понятно.

Ответить | Правка | К родителю #341 | Наверх | Cообщить модератору

343. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 15-Дек-23, 20:31 
Так, усложняем задачу.
Теперь надо иметь возможность ручного однократного запуска.
Причём чтобы она с той, что по таймеру, не пересеклась.

В systemd просто - стартуем тот же однократный сервис, что таймер дёргает.
Как будете портянить? flock на flock'е и flock'ом погоняет?

Ответить | Правка | К родителю #342 | Наверх | Cообщить модератору

345. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 15-Дек-23, 22:39 
> Теперь надо иметь возможность ручного однократного запуска.

не надо. подождите минуту и все будет.

что за шулерская привычка - менять правила игры на ходу ?

> В systemd просто

этот мегакусок доброкода - "просто" ? отказать.

Ответить | Правка | К родителю #343 | Наверх | Cообщить модератору

347. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 16-Дек-23, 09:59 
> этот мегакусок доброкода - "просто" ? отказать.

Мне плевать, что там внутри, честно говоря.
Снаружи оно - просто, и оно работает.

Ответить | Правка | К родителю #345 | Наверх | Cообщить модератору

346. "Выпуск системного менеджера systemd 255"  +/
Сообщение от glad_valakas (?), 15-Дек-23, 22:47 
если невтерпеж ждать даже 1 минуту, то перед sleep регистрируем обработчик SIGHUP,
который передаст управление на обработку. и наоборот - вокруг обработки крит.секция.

это работало еще в 70х годах, до всяких там линусов поттерингов.

Ответить | Правка | К родителю #343 | Наверх | Cообщить модератору

344. "Выпуск системного менеджера systemd 255"  +1 +/
Сообщение от Tron is Whistling (?), 15-Дек-23, 20:34 
Если проще - системд вот это всё делает просто на раз и в легко читаемом конфиге.
И ещё много чего - можно зависимостей добавить, можно целую цепочку сервисов дёрнуть, и т.д., и т.п.
Ответить | Правка | К родителю #342 | Наверх | Cообщить модератору

272. "Выпуск системного менеджера systemd 255"  +/
Сообщение от Tron is Whistling (?), 09-Дек-23, 11:44 
А ещё надо кронов понавешать, сокетных триггеров, и т.п.

Не, вообще не микросервис, да.

Ответить | Правка | К родителю #268 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру