Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: stan0k on March 18, 2017, 12:10:40 PM

Title: запрет старта второй копия скрипта
Post by: stan0k on March 18, 2017, 12:10:40 PM
Здравствуйте.
Подскажите как сделать чтобы не стартовала вторая копия скрипта а лучше запускалась после выполнения первого.
Скрипт запускается при  входящем письме в оутлуке, иногда может прийти одновременно два письма и  запустятся две копии  которые будут мешать выполнению друг друга.
Title: Re: запрет старта второй копия скрипта
Post by: Tochka on March 18, 2017, 12:16:32 PM
Не понятно. Вы хотя бы примерно изобразите на языке кода, что и при каких условиях у вас должно запускаться первым, а что вторым. Теста нет, чтобы мы его дружно месили.
Title: Re: запрет старта второй копия скрипта
Post by: i0 on March 18, 2017, 12:28:02 PM
ну а почему не через файл? пусть скрипт проверяет наличие файла на старте
Code: (clickermann) [Select]
$sFile="скрипт.запущен"
if (tfcount($sFile))
   logwrite("файл есть, значит скрипт уже запущен, выход")
   halt(1)
else
   tfwrite($sFile, "") // создаём файл, записывая туда пустую строку
end_if
// основное тело скрипта
tfclear($sFile, 1) // удаляем файл по окончании работы
halt(1)
Title: Re: запрет старта второй копия скрипта
Post by: i0 on March 18, 2017, 12:46:41 PM
а если с ожиданием завершения, то
Code: (clickermann) [Select]
$sFile="скрипт.запущен"
$nCheckPeriod=10
while (tfcount($sFile))
   logwrite("файл есть, значит скрипт запущен, жду")
   wait($nCheckPeriod)
end_cyc  // очепятка была
tfwrite($sFile, "") // создаём файл, записывая туда пустую строку
// основное тело скрипта
tfclear($sFile, 1) // удаляем файл по окончании работы
halt(1)
Title: Re: запрет старта второй копия скрипта
Post by: stan0k on March 18, 2017, 03:57:45 PM
Отлично то что нужно.
Спасибо.