[Nginx,Си] выполнить действия после отдачи файла

Модератор: Модераторы разделов

Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

[Nginx,Си] выполнить действия после отдачи файла

Сообщение gcc »

идет раздача файлов через Nginx

стоит задача выполнить какие-то действия (perl скрипт запустить или в базу записать и нужно знать какой это файл и путь к нему) после того как файл отдался клиенту
я знаю что можно при начале скачивания выполнить скрипт

а как быть если надо в конце отдачи?
1) может ли есть такая реализаци я в Nginx встроенная такая?
2) если исходники Си посмотреть реально ли это сделать? (точнее реально ли найти участок в котором можно запустить скрипт лили выполнить действия?)
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [Nginx,Си] выполнить действия после отдачи файла

Сообщение shotdownsystem »


дело на одну трубку :)

ngx_files.h, ngx_files.c

переписываем открытие файла, перехватываем имя, если соответствует, то ждем когда файл закроют.
факт передачи можно косвено отследить по чтению.
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: [Nginx,Си] выполнить действия после отдачи файла

Сообщение Crazy »

можно файл передавать через perl скрипт.

Desipere in loco
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: [Nginx,Си] выполнить действия после отдачи файла

Сообщение shotdownsystem »

Crazy писал(а):
19.11.2010 22:19
можно файл передавать через perl скрипт.

тогда мониторить канал
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: [Nginx,Си] выполнить действия после отдачи файла

Сообщение Crazy »

shotdownsystem писал(а):
22.11.2010 10:23
Crazy писал(а):
19.11.2010 22:19
можно файл передавать через perl скрипт.

тогда мониторить канал

надо быть проще. Кидаешь в каждый каталог index.pl, который отображает содержание каталога, и выводит содержание файла в стандартный поток.

Desipere in loco
Спасибо сказали: