Make-initrd development discussion
 help / color / mirror / Atom feed
* [make-initrd] Update
@ 2019-06-14  8:12 Alexey Gladkov
  2019-06-14  9:51 ` Leonid Krivoshein
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2019-06-14  8:12 UTC (permalink / raw)
  To: make-initrd

Привет!

Я тут переписал ueventd от слова совсем и как следствие изменились и
эвенты и их обработка. 

ueventd теперь работает немного сложнее:

* Очередей может быть несколько. Их можно создавать и удалять динамически.
* Эвенты в каждой очереди обрабатываются последовательно в блокирующем
  режиме т.е. пока текущий обработчик не завершится следующий вызван не
  будет.
* Эвенты в разных очередях обрабатываются параллельно.
* Эвенты - это всегда файл с значениями вида 'NAME="VALUE"\n'.

Сервер обрабатывает эвенты используя обработчики. Они могут быть написаны
либо на shell, либо на lua (меня отговорили от schema). Для второго случая
действует правило: один файл => один обработчик. В lua-файле должна быть
функция main, которая будет вызвана для каждого эвента. Обработчики можно
добавлять/удалять динамически.

При вызове обработчика эвенты читаются и передаются через переменные
окружения.

Соответственно, поменялись все обработчики. В фиче network каждый
интерфейс обрабатывается параллельно.

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

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-06-19 15:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-14  8:12 [make-initrd] Update Alexey Gladkov
2019-06-14  9:51 ` Leonid Krivoshein
2019-06-14 12:29   ` Alexey Gladkov
2019-06-14 17:58     ` Leonid Krivoshein
2019-06-16 12:22       ` Alexey Gladkov
2019-06-16 17:38         ` Leonid Krivoshein
2019-06-15 17:57     ` Leonid Krivoshein
2019-06-15 18:42       ` Leonid Krivoshein
2019-06-17  8:30         ` Alexey Gladkov
2019-06-19 15:50         ` Alexey Gladkov

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/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 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git