Показать сообщение отдельно
  #8 (permalink)  
Старый 15.04.2012, 01:28
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Я заинтерисовался запиранием файлов. Вот что нарыл.

функция запирания http://www.php.su/functions/?flock

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

Утро upd:
Поправка, не совсем верно раскритиковал решение чувака.
В его решении while(!$array=file($path)){sleep(1);} цикл исполняется раз в секунду, за счёт использования sleep, и не чаще. То есть решение в ряде случаев приемлимо, оно щадяще относится к процессорному времени, хоть и не жалеет память.

Можно позаимствовать идею и изменить решение из 7го топика.

вместо if ($time==0) echo "wait";
написать while($time==0){sleep(1); $time=getFileTime();}
соответственно на клиенте использовать первый javascript пример а не второй, так как обработка wait на клиенте будет уже не нужна.

Вопрос будет ли такое решение лучше ?. Думаю будет, но только если sleep используется в начале скрипта, как у нас.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.04.2012 в 00:09.
Ответить с цитированием