[devel] Q: Имя макроса для отложенного перезапуска сервисов

Dmitry V. Levin ldv на altlinux.org
Ср Сен 15 10:35:59 MSK 2021


On Wed, Sep 15, 2021 at 09:04:03AM +0300, Anton Farygin wrote:
> On 15.09.2021 02:08, Dmitry V. Levin wrote:
> > On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> >> Hi!
> >>
> >> Есть необходимость в отложенном перезапуске некоторых сервисов после
> >> обновления пакетов,
> > На самом деле планируется завести 2 новых макроса с условными названиями:
> >
> > - %post_service_чтототам: добавляется в %post пакета с сервисом (вместо
> >    %post_service) для того, чтобы этому сервису при обновлении был сделан
> >    try-restart не сразу в %post, а по окончании транзакции обновления
> >    пакетов;
> >
> > - %pre_service: добавляется в %pre пакета с сервисом (вместо %post_service
> >    в %post) для того, чтобы этому сервису при обновлении (если он был
> >    запущен) был сделан stop в %pre и start по окончании транзакции
> >    обновления пакетов (как сейчас сделано в postfix).
> 
> Может быть сделать проще и перезапускать все обновлённые сервисы в конце 
> транзакции ?
> 
> Одним универсальным макросом ?

Если бы все сервисы были бы одинаковыми, то можно было бы сделать проще,
но нет, сервисы разные, одни надо перезапускать сразу, потому что у них во
время работы доступ к файлам из своих пакетов, другие надо перезапускать
по окончании транзакции обновления, потому что у них при старте доступ к
файлам из чужих пакетов (например, к плагинам), которые обновляются позже,
третьи надо останавливать на время обновления, потому что у них во время
работы доступ к файлам из чужих пакетов (например, к плагинам), которые
обновляются позже.

> Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.

В порядке обновления пакетов, внутри пакетов - в порядке вызова макросов,
кроме того, если используется systemd, то там могут что-нибудь
переупорядочить согласно зависимостям сервисов.


-- 
ldv


Подробная информация о списке рассылки Devel