ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Denis Smirnov <mithraen@freesource.info>
To: community@altlinux.ru
Subject: Re: [Comm] Re:
Date: Sat, 10 May 2003 19:56:44 +0400
Message-ID: <20030510155644.GA3288@localhost.localdomain> (raw)
In-Reply-To: <4918537866.20030510131504@udm.ru>

[-- Attachment #1: Type: text/plain, Size: 2946 bytes --]

On Sat, May 10, 2003 at 01:15:04PM +0500, ASA wrote:

> DS> В какой момент должен запускаться скрипт, если для него ничего не указано?
> DS> Считать его зависимых от всех предыдущих по номеру?
> Видимо, так.
> Кстати, в RH и Debian есть вехи. Что-то типа - после S20 поднята
> сеть, после S40 смонтированы все файловые системы.

Хорошо бы это сделать в виде групп. То есть в качестве зависимости можно
указывать не только сервис, но и имя группы, при этом каждый сервис может
входить в какие-либо группы. Логику это почти не усложнит (всё равно ведь
развернутся эти группы в зависимости от конкретных пакетов), зато жизнь
мейнтейнерам облегчит.

 > DS>  > seek  test  ;). Пример - в той же вынде выделите побольше иконок
 > DS>  > на  рабочем  столе  и  нажмите  Enter  ;)  Поэтому  можно ввести
 > DS>  > ограничение на одновременную работу не более 4*CPU скриптов враз.
 > DS> Это конфигурируемо должно быть. По-умолчанию 4*CPU -- оптимум.
 > Главное - не забыть об этом.

Угу. Хотя так как запускалка должна отслеживать результат выполнения
каждого скрипта, то для добавления ограничения по количеству работающих
процессов почти ничего писать не нужно. 
 
 > DS>  > DS>  > отдельно   от  других  подобных  ему.  И  тут  может  возникнуть
 > DS>  > DS>  > нетривиальная  задача  развязки  обязательных  и  необязательных
 > DS>  > DS>  > зависимостей.
 > DS>  > DS> А в чём собственно её нетривиальность? Автор пакета должен суметь чётко
 > DS>  > DS> сформулировать что необходимо его сервису для работы.
 > DS>  > Нетривиальность вообще в создании такого дерева.
 > DS> В смысле в создании дерева по меткам, или в проставлении меток
 > DS> зависимости?
 > Если скрипт 3 связан нежесткой зависимостью со скриптом 2,
 > который не стартовал, потому что он жестко связан со скриптом 1,
 > выдавшим FAILED.

То 3-й скрипт стартует.

Упрощённо алгоритм такой -- строится дерево. После этого создаётся список
узлов, у которых нет зависимостей. Из этого списка выбираются имена
скриптов для старта. После того, как скрипт завершит свою работу (с
каким-либо кодом завершения) смотрим на узел-родитель, и смотрим на тип
связи. В зависимости от результата выполнения скрипта, типа связи, наличия
других невыполненых зависимостей родителя либо ничего не делаем с
родителем, либо переносим его в список узлов готовых к выполнению. При
этом если FAILED скрипт, зависимость которого с родителем прямая, то
тогда родителю выставляется флаг FAILED, и, когда придёт время его
переноса в очередь для выполнения мы просто выдаём что он и не будет
выполняться.
 
 > DS> Нужно чтобы всё работало даже для тех программ, которые об этой фиче не
 > DS> знают. Если действительно сделать зависимостями по-умолчанию "все
 > DS> предыдущие скрипты в списке", то действительно будет всё работать.
 > Именно поэтому сами скрипты должни связываться реализоваться
 > только через теги-комментарии а-ля chkconfig.

Согласен.
 
-- 
С уважением, Денис

http://freesource.info

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2003-05-10 15:56 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-28  7:04 [Comm] дизайн дистрибутива ALJ "как в вындовс" Mike Lykov
2003-04-28  7:27 ` Alexandre Prokoudine
2003-04-28  8:05 ` Leonid B. Sysoletin
2003-04-28  8:51 ` [Comm] [JT] " Anatoly A. Yakushin
2003-04-28  9:28 ` [Comm] " Anton V. Boyarshinov
2003-04-28 15:33 ` [Comm] "" Denis Smirnov
2003-04-28 16:37 ` [Comm] Re: [Comm] [JT] дизайн дистрибутива ALJ "как в вындовс" Vitaly Lugovsky
2003-04-28 17:02   ` Roman Bogorodskiy
2003-04-29 12:58     ` Vitaly Lugovsky
2003-04-30  5:09       ` Mike Lykov
2003-04-30  5:42         ` Andrey Golovin
2003-04-30  9:36         ` Vitaly Lugovsky
2003-04-28 18:05   ` [Comm] " Maksim Otstavnov
2003-04-28 18:12     ` [Comm] Re[2]: " Maksim Otstavnov
2003-04-29 13:01     ` [Comm] " Vitaly Lugovsky
2003-04-29 13:15       ` Anton V. Boyarshinov
2003-04-29 13:53         ` [Comm] Re[2]: " Maksim Otstavnov
2003-04-29 18:26           ` Vitaly Lugovsky
2003-04-29 20:47             ` [Comm] Re[2]: " Maksim Otstavnov
2003-04-30  6:22               ` Anton V. Boyarshinov
2003-04-30  6:23           ` Anton V. Boyarshinov
2003-05-06 13:12     ` [Comm] " Alexey Tourbin
2003-04-28 19:25   ` [Comm] Re: [Comm] [JT] дизайн дис трибутива ALJ "как в в ындовс" Denis Smirnov
2003-04-29 13:05     ` Vitaly Lugovsky
2003-04-29 18:11       ` [Comm] Re: [Comm] [JT] Denis Smirnov
2003-04-30  5:06         ` Mike Lykov
2003-05-06 13:24     ` [Comm] Re: дизайн дис трибутива ALJ "как в в ындовс" Alexey Tourbin
2003-05-06 13:49       ` [Comm] Denis Smirnov
2003-05-07 11:30         ` Michael Shigorin
2003-05-07 12:33           ` Denis Smirnov
2003-05-08  8:29             ` Michael Shigorin
2003-05-08 19:13               ` Denis Smirnov
2003-05-08 22:06                 ` Re[2]: " ASA
2003-05-08 23:12                   ` Denis Smirnov
2003-05-09  6:39                     ` Re[2]: " ASA
2003-05-09 21:10                       ` Denis Smirnov
2003-05-10  8:15                         ` Re[2]: " ASA
2003-05-10 15:56                           ` Denis Smirnov [this message]
2003-05-10 21:30                             ` ASA
2003-05-11  6:58                               ` Re[3]: " Maksim Otstavnov
2003-05-11 12:13                                 ` Denis Smirnov
2003-05-12  3:48                                   ` Re[2]: " ASA
2003-05-12 11:46                                     ` Denis Smirnov
2003-05-12 15:51                                       ` Re[2]: " ASA
2003-05-12 17:15                                         ` Dmitry Alexeyev
2003-05-12 18:02                                           ` Re[2]: " ASA
2003-05-12 20:11                                         ` Denis Smirnov
2003-05-13  2:15                                           ` Re[2]: " ASA
2003-05-11 12:43                                 ` Re[3]: " Alexander Bokovoy
2003-05-11 12:06                               ` Denis Smirnov
2003-05-13 19:10                     ` Michael Shigorin
2003-05-13 20:29                       ` Denis Smirnov
2003-05-14  3:19                         ` Re[2]: " ASA
2003-05-14  8:47                           ` Denis Smirnov
2003-05-13 19:08                 ` Michael Shigorin
2003-05-13 19:43                   ` ASA
2003-05-13 20:29                   ` Denis Smirnov
2003-05-14 19:19                     ` Michael Shigorin
2003-05-14 22:20                       ` Denis Smirnov
2003-04-29  7:14   ` [Comm] Re: [Comm] [JT] дизайн дистрибутива ALJ "как в вындовс" Andrii Dobrovolskii
2003-04-29 13:30     ` Vitaly Lugovsky
2003-04-29 14:10     ` [Comm] Re: [Comm] [JT] дизайн ди стрибутива ALJ "как в в ындовс" Denis Smirnov
2003-05-02 10:40       ` Andrii Dobrovolskii
2003-05-02 22:28         ` 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=20030510155644.GA3288@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