ПРОЕКТЫ 


  АРХИВ 


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 01:03:49PM +0300, Grigory A. Mozhaev wrote:
> Добрый день!
> 
> Пытаюсь написать модуль под nginx решающий задачу отслеживания 
> при скачивании файлов с сервера (download). 
> Таким образом, что для файлов определенного локейшена можно определить 
> директиву 'download_notify':
> 
> location ~* /secret_files {
>   download_notify http://127.0.0.1:3000/notify;
> }
> 
> Скрипт notify должен дергаться только в том случае, когда файл полностью 
> скачан. Передаваемые параметры:
> URL загруженного файла, успех или ошибка при загрузке, скорость 
> загрузки (средняя), ip адрес.

Вы уж определитесь, нужно ли звать этот скрипт "только в случае, когда 
файл полностью скачан", или и в случаях "ошибка при загрузке". 

Если второе - посмотрите на post_action, который практически
не описан, но, jimho, вполне может решить задачу без написания
дополнительного модуля. 

> 
> Хотя я новичек в разработке модулей для nginx, по сути - это мой 
> первый модуль, но имею большой стаж разработки на Си. 
> Итоговый модуль будет размещен в свободном доступе так как подобный 
> функционал востребован (судя по форумам и вопросам), но не реализован.
> 
> Как я понимаю, этот модуль должен быть "фильтром". Нужно, фильтруя http 
> ответы:
> 1. Отловить начало скачивание конкретного файла.
> 2. Отлавливать скачивание каждой отдельной части этого файла и таким 
> образом вычисляя среднюю скорость скачивания.
> 3. Завершение скачивания с успехом тогда, когда размер переданного 
> контента равен размеру передаваемого. Хотя тут 
> непонятно, как узнать, что произошла ошибка при скачивании.
> 
> Поделитесь вашим опытом. Куда стоит копать? Какие модули для примера 
> смотреть? Какие структуры данных использовать? 
> 
> С уважением,
> Можаев Григорий
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru

-- 
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.