Отловить момент, когда закачка завершена

Igor Sysoev is at rambler-co.ru
Tue Feb 7 10:05:28 MSK 2006


On Tue, 7 Feb 2006, AleXXX V. NovikoFF wrote:

> Возникла необходимость отдавать файлы nginx-ом, мне нужно точно знать, сколько nginx отдал клиенту байтиков, и отловить тот момент, когда закачка завершена (допустим запускать какой-то скрипт, или писать что-то куда, событие, может, отправлять...)
> Есть ли какие-то средства для этого? Или нужно писать модуль (править исходник)?

Как-то так:

     location  / {
         set $orig_uri   $uri;
         set $orig_args  $args;

         post_action  /post;

         ...
     }

     location = /post {
         proxy_pass        ...
         proxy_set_header  x-orig-url  $orig_uri?$orig_args;
         proxy_set_header  x-sent      $body_bytes_sent;
     }

Но нужно учесть, что $body_bytes_sent - это количество переданных клиенту
данных с точностью до размера ядерного буфера TCP.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list