ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Download notify модуль



On Mon, Feb 21, 2011 at 02:07:26PM +0300, Grigory A. Mozhaev wrote:
> > > Скрипт notify должен дергаться только в том случае, когда файл полностью
> > > скачан. Передаваемые параметры:
> > > URL загруженного файла, успех или ошибка при загрузке, скорость
> > > загрузки (средняя), ip адрес.
> >
> > Вы уж определитесь, нужно ли звать этот скрипт "только в случае, когда
> > файл полностью скачан", или и в случаях "ошибка при загрузке".
> В скрипт notify должна поступать статус закачки. А скрипт дергается только 
> по факту полного завершения операции скачивания. Если файл полностью 
> скачан - значит 'SUCCESS', если произошла ошибка то, соответственно, 
> 'FAILED'. 
> 
> > Если второе - посмотрите на post_action, который практически
> > не описан, но, jimho, вполне может решить задачу без написания
> > дополнительного модуля.
> Не совсем понимаю, как post_action сможет решить задачу 
> вычисления скорости закачки.

$body_bytes_sent/$request_time ? Вполне себе средняя скорость... 

Впрочем, похоже этот подход действительно не сработает:
$request_time в отличие от $body_bytes_sent определяется
только на момент записи в лог, в post_action его еще нет.

(possible workaround: с помощью встроенного perl'а запоминать 
момент начала запроса и на момент post_action сравнивать 
с текущим временем). 

> Единственное более-менее рабочее (сам не проверял) полу-решение нашел здесь:
> http://abarmotik.livejournal.com/7496.html
> 
> А вот товарищ вопрошает список рассылки, но ответа нет.
> http://nginx.org/pipermail/nginx-ru/2009-June/025566.html
> Как и в других местах в интернетах.
> 
> Разве модуль не будет изящным решением наболевших проблем? 

jimho, не будет. Модуль нужно написать/выкачать, вкомпилировать 
в nginx (в некоторых случаях - убедить хостинг-провайдера 
вкомпилировать), и, самое главное, не забывать делать это каждый 
раз при апгрейде nginx. Плюс, наверное самое главное - ошибка в 
модуле может привести к падению/зависанию всего nginx'а. 

post_action же вызывает совершенно стороннюю программу, глюк в 
которой для nginx'а (и, соответственно пользователей вашего 
сайта) останется незаметным.

-- 
In theory, there is no difference between theory and practice. 
But, in practice, there is. 

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.