LINUX.ORG.RU

Управление процессами (worker)

 , ,


0

5

Добрый день! Имеем приложение на C/С++. Оно организованно в виде набора воркеров. Сейчас для каждого из них имеется свой сервис и они запускаются по отдельности. Есть идея сделать один мастер процесс, который будети форкать детей. Вопрос: имеются ли библиотеки для работы с воркерами. что бы хотелось 1) Воркер должен мониторить мастера и умирать вместе с ним 2) Мастер должен мониторить детей и если кто-то из них умер - перезапускать 3) Разные виды детей.

Понятно, что все это можно сделать на сигналах итд, но может есть уже что-то стандартное. Не хочется изобретать велосипед.

PS: В идеале, чтобы это было на С, а не на плюсах

★★

Последнее исправление: vromanov (всего исправлений: 1)

Ответ на: комментарий от BruteForce

Он на данный момент не поддерживает распределенные/многопроцессовые приложения.

eao197 ★★★★★
()
Последнее исправление: eao197 (всего исправлений: 1)

nginx unit ?

anonymous
()
Ответ на: комментарий от eao197

Не увидел там мониторинга воркеров итд. Это все делает и systemd. Мне просто не хочется в системд завоводить сервисы типа app-wNN.service. и запускать их по одиночке. systemd еще и имеет библиотечку для мониторинга.

vromanov ★★
() автор топика
Ответ на: комментарий от vromanov

всё равно придётся писать кучу конфигов для сервисов. почему бы и не для systemd, если он подходит по остальным параметрам?

на си есть олдфажный https://cr.yp.to/daemontools.html . работает юникс-вейно, если это имеет значение.

не вижу проблем свой велосипед написать. и да, все это делают на сигналах.

anonymous
()
Ответ на: комментарий от slovazap

Есть ансаксесс стори? Использовал в продакшене и завалили бизнес?

anonymous
()

1) Воркер должен мониторить мастера и умирать вместе с ним 2) Мастер должен мониторить детей и если кто-то из них умер - перезапускать 3) Разные виды детей.

Вероятно, как раз тот случай, когда можно и завелосипедить свой прототип - там пара экранов кода и функциональный тест: макс. 1 рабочий день. Дальше глянуть, как пойдёт... Боюсь, что на разборки с супервизорами можно ещё больше потратить, а в результате наткнуться на что-нибудь неразрешимое и вернуться к велосипеду.

Там точно С/С++ критично? На каком-нибудь питоне/нодежс/перл/баш/etc. будет еще быстрее запилить...

illy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.