*) Добавление: модуль ngx_http_perl_module поддерживает метод
$r->variable.
Это очень хорошо, но у меня возникло пару вопросов:
1. Возможна ли такая ситуация:
запускается перловый модуль, устанавливает переменную, запускает
$r->sendfile и заканчивает свою работу. Пока файл отдается клиенту,
запускается еще раз перловый модуль и устанавливает уже другое
значение переменной. Тут заканчивается обработка первого запроса и
запускается post_action но переменная имеет уже другое значение.
Если перловый модуль запускается в рамках того же запроса, то
у переменной будет другое значение.
Не понял. Допустим запросили урл /files/some/file/name.ext локейшен
/files обрабатывает перловый модуль. Который устанавливает переменную.
После запроса выполняется post_action можно ли быть уверенным, что в
post_action придет именно та переменная которую установил перловый
модуль?
Да.
2. Каким образом можно проконтролировать что файл отправлен полностью
а не какаято его часть? post_action я так понял выполняется всякий раз
когда запрос завершен.
Есть переменная $request_completion, равная "OK", если запрос
заврешился удачно.
А что считается удачнм завершением запроса? Если В запросе указано что
нужно отдать файл с 0 по 500 байт, а размер файла 1000 байт. Запрос
будет считаться успешно завершенным?
Успешным считается ответ, в котором nginx отдал в ядро всё, что попросили.
Игорь Сысоев
http://sysoev.ru