From: Denis Smirnov <mithraen@freesource.info>
To: community@altlinux.ru
Subject: Re: [Comm] Re: [Comm]
Date: Wed, 14 May 2003 00:37:39 +0400
Message-ID: <20030513203739.GD18540@localhost.localdomain> (raw)
In-Reply-To: <1053002733.20030513213814@udm.ru>
[-- Attachment #1: Type: text/plain, Size: 3351 bytes --]
On Tue, May 13, 2003 at 09:38:14PM +0500, ASA wrote:
> DS> Приведёшь пример, где это действительно нужно (я про OR)?
> # requires postgres
> # requires musql
И как оно себя поведёт, если отвалится постгрес, когда в конфиге у
этого сервиса прописано использовать именно постгрес?
В любом случае сие должно, IMHO, заменяться на более логичное
# requires sqlserver
> >> а сами
> >> имена не должны больше нигде повторяться (то есть не допускается
> >> одновременное задание имени mta в двух и более рабочих скриптах,
> DS> Скажем есть у нас postgres и mysql. Почему бы им обоим не provides
> DS> sqlserver?
> Но это будет работать только в том случае если последующие
> программы юзают СУБД-незаивсимые интерфейсы...
> А в алгоритм надо внести уточнение: скрипты с requires sqlserver
> запускается только после того как отработают все скрипты,
> которые provides sqlserver и хотя бы один из них будет успешным.
Всё проще. С точки зрения алгоритма просто появится некий виртуальный
скрипт sqlserver, который requires всех тех, кто его provides, и который
не требует запуска.
> DS> > В "корневых" S-скриптах (т.е. таких, которые не зависят от
> DS> > других) пишется
> DS> > # requires none
> DS> > чтобы запускающему скрипту (rc-скрипту) было понятно, что он
> DS> > (S-скрипт) удовлетворяет вышеописанным требованиям.
> DS> А может вообще без параметров?
> а как тогда дать управляющему скрипту понять, что он
> удовлетворяет нашему RFC? ;)
Я имею в виду просто
# requires
> DS> > Проблемы: переход на другой runlevel, в том числе останов?
> DS> Каков сейчас алгоритм перехода на другой runlevel? Я не до конца себе его
> DS> представляю.
> Опишу текущее поведение SysV при переходе на runlevel X:
> Последовательнно перебираются все скрипты в /etc/rc.d/rcX.d от
> K00 до K99, потом от S00 до S99. При переборе K-скриптов
> проверяется, был ли он запущен, согласно записям в
> /var/lock/subsys, если такой "отметился", то он вызывается с
> параметром stop, затем при переборе S-скриптов проверяется -
> если его нет в /var/lock/subsys, то он вызывается с параметром
> start.
> Этот алгоритм хорошо работает как и при первичном запуске, так и
> последующей смене уровней.
Угу... В таком случае нам просто надо построить алгоритм обработки K*
скриптов?
> DS> > Описание алгоритма запуска (в т.ч. лимит на число одновременно
> DS> > запущенных скриптов) - Денису.
> DS> Я, кажется, приводил его в одном из писем. Основная идея в том, что мы
> ab просил все свести в один файл.
Буду думать как более-менее разумно его сформулировать.
> DS> строим дерево очерёдности запуска (не зависимости, а именно очерёдности),
> DS> после чего выбираем все скрипты, которые можно запустить сразу, и создаём
> DS> очередь на исполнения. Из этой очереди скрипты уже и запускаются. После
> DS> завершения скрипта (или попытки его запуска) мы смотрим на наше дерево,
> DS> убираем из него наш скрипт, и модифицируем само дерево в зависимости от
> DS> результата его выполнения и типа связей этого узла с другими (requires или
> DS> after), после чего те скрипты, которые стало возможно запустить,
> DS> отправляем в очередь.
> ОК. Теперь думай как его доработать для смены runlevel'а.
/me пошёл пытаться думать :)
--
С уважением, Денис
http://freesource.info
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-05-13 20:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-12 4:29 [Comm] RFC на модификацию SysV startup ASA
2003-05-13 13:30 ` [Comm] Re: [Comm] Denis Smirnov
2003-05-13 16:38 ` ASA
2003-05-13 20:37 ` Denis Smirnov [this message]
2003-05-14 3:20 ` Re[2]: " ASA
2003-05-14 8:49 ` Denis Smirnov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030513203739.GD18540@localhost.localdomain \
--to=mithraen@freesource.info \
--cc=community@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git