Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : mitrohin a.s.                        2:5020/400     03 Jun 2003  17:41:07
 To : "Shkuratov Dmitriy"
 Subject : Re: squid & logs
 -------------------------------------------------------------------------------- 
 
 Shkuratov Dmitriy <lan@zine.ru> wrote:
 
  SD> hi, all
  SD> ========cache.log
  SD> 2003/06/03 14:18:46| storeDirWriteCleanLogs: Starting...
  SD> 2003/06/03 14:18:46| WARNING: Closing open FD   21
  SD> 2003/06/03 14:18:46|   Finished.  Wrote 14720 entries.
  SD> 2003/06/03 14:18:46|   Took 0.0 seconds (457554.9 entries/sec).
  SD> FATAL: logfileWrite: /var/log/squid/access.log: (35) Resource temporarily
 
                                                       ^^ - EAGAIN
 
  SD> unavailable
  SD> ===============
 
 write(2) на предмет EAGAIN
 
 hmm... такая ошибка вылетает на non-blocking I/O, странно - неужели squid 
 открывает access.log с O_NONBLOCK? смотрим... так и есть.
 а пишет?... никаких селектов вам ;))) ... 
 
 вывод - читатель fifo не успевает выгребать данные...
 
 как решение можно переписать открытие файла и убрать SQUID_NONBLOCK
 (O_NONBLOCK) - все будет вставать колом при умершем читателе ;)) HО
 никаких потерь данных не будет - если на этом делается какой-то билинг 
 это даже правильно - HИ СТРОЧКИ МИМО ;)))
 
 переписать читателя и пересмотреть его алгоритм работы ;))
 
  SD> вот такая вот проблемка :( после этого squid рушится...
 
 ;( )
 если хочется чтобы просто не падал в accessLogInit() поменяй последний
 параметр у функции logfileOpen() на 0 - после этого squid игнорирует
 ошибку записи (может и еще какие на этом дескрипторе)
 
  SD> в каких ситуациях это происходит выяснить не удалось, закономерности не
  SD> наблюдается может работать и 3 дня, а может рушится раз 10 каждые 3
  SD> минуты.. предыстория такова: mkfifo /var/log/squid/access.log из
  SD> /var/log/squid/access.log читает perl script след конструкцией: ====
  SD> script.pl my $fifo="/var/log/squid/access.log"; open
  SD> (FIFO,"$fifo") while(<FIFO>) { #<.. ..> } ==========
 
  SD> кто нить сталкивался с этим? как это побороть?
 
 /swp
 --- ifmail v.2.15dev5
  * Origin: BSPU InterNetNews site (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 squid & logs   Shkuratov Dmitriy   03 Jun 2003 15:02:43 
 Re: squid & logs   mitrohin a.s.   03 Jun 2003 17:41:07 
 Re: squid & logs   Shkuratov Dmitriy   03 Jun 2003 18:13:47 
 squid & logs   Alexander Lunyov   03 Jun 2003 16:38:52 
 Re: squid & logs   Motylkov Maxim   04 Jun 2003 10:44:07 
Архивное /ru.unix.bsd/76191cebdfee.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional