Re: Download notify модуль
Alexandre Snarskii
snar на snar.spb.ru
Пн Фев 21 13:52:37 MSK 2011
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 at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
--
In theory, there is no difference between theory and practice.
But, in practice, there is.
Подробная информация о списке рассылки nginx-ru