Автор Тема: Блокирование файлов  (Прочитано 2630 раз)

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

Оффлайн Anthony

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 77
  • +0/-0
  • 0
    • Просмотр профиля
Блокирование файлов
« : 14 Ноября 2006, 17:01:13 »
День добрый!

Хочу сделать такую штуку: скрипт периодически запускается на сервере (кроном) подключается к БД, выбирает и парсит данные, и записывает их в файл (xml например). А на сайте работает js, который периодически будет запрашивать этот записанный файл.

Смысл в том, чтобы при интенсивных запросах от js не создавать повышенную нагрузку на сервер параллельным запуском кучи чаэлдов php.

Вопрос собственно в следующем, что произойдет в тот момент, когда одновременно к файлу обратятся php и клиент (js)? Насколько я понимаю в данном случае flock() не поможет, т. к. процессы разные?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Блокирование файлов
« Ответ #1 : 14 Ноября 2006, 18:33:21 »
Anthony
Вообще-то flock поможет, т.к. там все-таки средства ФС.

Если есть сомнения - делай чеерз rename.
LJ: Backslashed life (rss)

Оффлайн Anthony

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 77
  • +0/-0
  • 0
    • Просмотр профиля
Блокирование файлов
« Ответ #2 : 14 Ноября 2006, 18:53:53 »
CGVictor
Ок, спасибо! Просто читал что flock работает только при условии, что процесс тот же самый, а если к заблокированному файлу обращается другой процесс, то никакой блокировки не будет.

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28