Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка запуска экзепляра скрипта 
:(
    Опции темы
Golda
Дата 15.7.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 3
Всего: 42



На случай таких единичных сбоев, стоит ориентироваться не на просто на сам факт существования lock, а на время его создания. И если это время превышает разумное, считать такой lock следствием сбоя и игнорировать


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Diesel Draft
Дата 15.7.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: нет
Всего: 5



Также можно просто на початке робот создавать файл, а в конце его удалять. И каждый раз перевеять есть ли он


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Diesel Draft
Дата 15.7.2007, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: нет
Всего: 5



В файл писать можно каждую минуту, то есть чтоб данные актуальные оставались


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
lorien
Дата 15.7.2007, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 16.11.2004
Где: omsk

Репутация: нет
Всего: 3



Для слабослыщащих повторяю свой предыдущий пост: открываете и лочите файл, если процесс умрёт, то лок потеряется. 
PM WWW   Вверх
Diesel Draft
Дата 16.7.2007, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: нет
Всего: 5



lorien, а ты проверял?


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
CyClon
Дата 3.8.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



По сабжу - скрипт при запуске создает какой-либо файл, при окончании работы - удаляет его. В начале скрипта - if (file_exixts())...


--------------------
user posted image
PM   Вверх
Oflashp
Дата 3.8.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 2.8.2007
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 2



Использую метод протоколирования. Запускается более сотни скриптов. Сбоев не было.
PM MAIL ICQ   Вверх
Anarki
Дата 5.8.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 1
Всего: 11



lorien правильно сказал, так лучше всего делать.
Например:
Код

<?php
set_time_limit(0);
$a = time();
$fp = fopen('.lock', 'r+') or die('Cant open .lock!');
$f = flock($fp, LOCK_EX+LOCK_NB);
echo time()-$a; 
if (!$f) {
    fclose($fp);
    die("Already running\n");
}
$i = 0;
while($i<30) {
    ++$i;
    // что-то делаем
    echo "in cycle\n";
    sleep(1);
}
fclose($fp); # снимается блокировка
echo "ALL DONE\n";
?>

Только если под апачем запущен скрипт, то могут быть косяки.
Поэтому вообще долгоиграющие скрипты лучше из консоли запускать.



--------------------
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.