Автор Тема: запрет старта второй копия скрипта  (Прочитано 1056 раз)

0 Пользователей и 1 Гость просматривают эту тему.

stan0k

  • Зашел в гости
  • *
  • Сообщений: 2
    • Просмотр профиля
Здравствуйте.
Подскажите как сделать чтобы не стартовала вторая копия скрипта а лучше запускалась после выполнения первого.
Скрипт запускается при  входящем письме в оутлуке, иногда может прийти одновременно два письма и  запустятся две копии  которые будут мешать выполнению друг друга.

Tochka

  • Освоившийся
  • **
  • Сообщений: 67
  • Ищу, читаю, учусь...
    • Просмотр профиля
Re: запрет старта второй копия скрипта
« Ответ #1 : Март 18, 2017, 12:16:32 pm »
Не понятно. Вы хотя бы примерно изобразите на языке кода, что и при каких условиях у вас должно запускаться первым, а что вторым. Теста нет, чтобы мы его дружно месили.
Сюда влетаю иногда... Возник вопрос и завелась метла

i0

  • Оплот сообщества
  • ****
  • Сообщений: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • Просмотр профиля
Re: запрет старта второй копия скрипта
« Ответ #2 : Март 18, 2017, 12:28:02 pm »
ну а почему не через файл? пусть скрипт проверяет наличие файла на старте
Код: Clickermann
  1. $sFile="скрипт.запущен"
  2. if (tfcount($sFile))
  3.   logwrite("файл есть, значит скрипт уже запущен, выход")
  4.   halt(1)
  5. else
  6.   tfwrite($sFile, "") // создаём файл, записывая туда пустую строку
  7. end_if
  8. // основное тело скрипта
  9. tfclear($sFile, 1) // удаляем файл по окончании работы
  10. halt(1)
« Последнее редактирование: Март 18, 2017, 12:30:17 pm от i0 »

i0

  • Оплот сообщества
  • ****
  • Сообщений: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • Просмотр профиля
Re: запрет старта второй копия скрипта
« Ответ #3 : Март 18, 2017, 12:46:41 pm »
а если с ожиданием завершения, то
Код: Clickermann
  1. $sFile="скрипт.запущен"
  2. $nCheckPeriod=10
  3. while (tfcount($sFile))
  4.   logwrite("файл есть, значит скрипт запущен, жду")
  5.   wait($nCheckPeriod)
  6. end_cyc  // очепятка была
  7. tfwrite($sFile, "") // создаём файл, записывая туда пустую строку
  8. // основное тело скрипта
  9. tfclear($sFile, 1) // удаляем файл по окончании работы
  10. halt(1)
« Последнее редактирование: Март 18, 2017, 01:38:31 pm от i0 »

stan0k

  • Зашел в гости
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: запрет старта второй копия скрипта
« Ответ #4 : Март 18, 2017, 03:57:45 pm »
Отлично то что нужно.
Спасибо.