ALT Linux Community general discussions
 help / color / mirror / Atom feed
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 --]

  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