Bug 27856

Summary: Нерабочий apachectl2
Product: Sisyphus Reporter: serpiph <serpiph>
Component: apache2-baseAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: real.altlinux.org, rider
Version: unstable   
Hardware: all   
OS: Linux   

Description serpiph 2012-10-16 12:59:14 MSK
Программа нерабочая потому, что не успевает дождаться запуска сервера, как начинает проверять его работоспособность через pid-файл. После смены в start() строки 

    usleep 100000

На 
    usleep 1000000

Всё стало запускаться под systemd. Ошибка на запуск сервера ушла. Надо увеличивать время ожидания запуска сервера или что-то ещё делать. 0,1 с (и 0,5 с тоже) не хватает для гарантированного запуска сервера.
Comment 1 serpiph 2012-10-17 15:39:00 MSK
Проблема в том, что когда apachectl2 возвращает ошибку, systemd принудительно глушит все процессы, которые появляются в данной группе, даже если им надо работать.
Comment 2 solo 2012-10-17 19:06:58 MSK
  Думаю реализовать вариант с циклическим опросом pid-файла. Достаточно ли будет 10-и раз, с интервалом 0.1 с?
Comment 3 serpiph 2012-10-18 09:41:08 MSK
(В ответ на комментарий №2)
>   Думаю реализовать вариант с циклическим опросом pid-файла. Достаточно ли
> будет 10-и раз, с интервалом 0.1 с?

Ну тогда хотя бы 10 раз по 0,5 с на случай одновременного запуска сервисов через systemd при старте машины. Не вижу смысла дробить секундный интервал опроса по 0,1 с. Я же написал, что у меня для запуска единичного сервиса даже полсекунды не хватает. Проще вставить секунду и не маяться.
Comment 4 Repository Robot 2012-10-18 11:00:20 MSK
apache2-2.2.22-alt10 -> sisyphus:

* Thu Oct 18 2012 Aleksey Avdeev <solo@altlinux> 2.2.22-alt10
- Fix %apache2_sbindir/apachectl%apache2_branch start: use briefstatus
  loop in poststart (Closes: #27856)
- Move requires %name-ab and %name-htpasswd to %name subpackage
- Fix conflicts for %name-ab and %name-htpasswd subpackage
Comment 5 solo 2012-10-20 22:28:44 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №2)
> >   Думаю реализовать вариант с циклическим опросом pid-файла. Достаточно ли
> > будет 10-и раз, с интервалом 0.1 с?
> 
> Ну тогда хотя бы 10 раз по 0,5 с на случай одновременного запуска сервисов
> через systemd при старте машины. Не вижу смысла дробить секундный интервал
> опроса по 0,1 с. Я же написал, что у меня для запуска единичного сервиса даже
> полсекунды не хватает. Проще вставить секунду и не маяться.

  В apache2-2.2.22-alt11 сделал возможность настройки таймаутов на старт/останов через переменные определённые в  /etc/sysconfig/httpd2 (по умолчанию закоментированны):

# For start/stop httpd2
#WAITSTOP=300
#WAITGRACEFULSTOP=3000
#USLEEPSTART=100000
#LOOPSSTART=10