Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 6297 - Wine-tests: возможные проблемы при запуске двух экземпляров скрипта сразу   Make a simular bug
Summary: Wine-tests: возможные проблемы при запуске двух экземпляров скрипта сразу
Status: CLOSED FIXED
Alias: None
Product: WINE-tests
Classification: Свободные проекты (Open source projects)
Component: Общее (show other bugs)
Version: не указана
Hardware: PC All
: P4 minor
Target Milestone: ---
Assignee: Виталий Перов
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 6264
  Show dependency treegraph
 
In work:
Reported: 2010-10-25 19:24 MSD by Виталий Перов
Modified: 2010-12-24 18:58 MSK (History)
2 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Виталий Перов 2010-10-25 19:24:03 MSD
Сборка wine выполняется достаточно долго. Это может привести к тому, что первый скрипт ещё не закончил свою работу, а крон запускает уже второй.

Возможные проблемы:
1) git pull делается до проверки почты. У нас уже запущен первый экземпляр, который работает с репозиториями, а в это время запускается второй, который обновляет эти репозитории
2) Неразборчивые логи. В середине лога от первого экземпляра вдруг появляется лог второго экземпляра.

Хорошо бы запретить запуск второго экземпляра скрипта
Comment 1 Виталий Перов 2010-11-01 16:50:03 MSK
Стандартных решений нет.
Кроссплатформенность не получится.

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

Возможно возникнут проблемы при неправильном завершении. В этом случае придётся удалять файл вручную
Comment 2 Виталий Перов 2010-11-01 17:41:17 MSK
> 
> Из существующих решений самым лучшим думаю будет создание временного
> файла (путь должен быть прописан в конфиге). При запуске программы надо
> проверять существование этого файла.
> 

Сделал.
Для проверки написал тестовый скрипт.
Как это работает на "живой" системе узнаем только при запуске через cron.
Сейчас при повторном запуске выводится сообщение "Already running".
Скорее всего cron пришлёт его по по почте в случае запуска второго экземпляра приложения.