resumable upload

Anatoly Mikhailov anatoly at sonru.com
Thu May 9 10:21:23 UTC 2013


On May 8, 2013, at 9:13 PM, Valery Kholodkov <valery+nginxru at grid.net.ru> wrote:

> On 05/08/2013 07:03 PM, Maxim Dounin wrote:
>> Hello!
>> 
>> On Tue, May 07, 2013 at 09:37:38PM +0200, Valery Kholodkov wrote:
>> 
>>> On 03/29/2013 11:46 PM, Anatoly Mikhailov wrote:
>>>> 
>>>> On Mar 29, 2013, at 7:38 PM, Andrey N. Oktyabrski <ano at bestmx.ru> wrote:
>>>> 
>>>>> On 29.03.2013 17:02, Валентин Бартенев wrote:
>>>>>> Просто когда дело заходит о том, что на грамотную реализацию и последующую
>>>>>> поддержку этого кода нужно потратить сколько-то человеко-часов, которые должен
>>>>>> кто-то оплатить, то часто выясняется, что большинству вопрошающих не очень то
>>>>>> оно и нужно было.
>>>>> Большинство вопрошающих вполне устраивал upload_module.
>>>>> 
>>>>> P.S. Пожалуй, это тупиковая ветвь дискуссии.
>>>> 
>>>> тупиковая, он поломался с nginx 1.3.9, а автор этого плагина забил на поддержку
>>>> уже как полгода.
>>> 
>>> Пожалуй, это подходящий момент, чтобы прокоментировать ситуацию.
>>> 
>>> Конечно, я мог бы ответить в стиле Валентина Бартенева -- "был бы
>>> спрос, мы бы всё сделали". Иными словами, "дайте денег -- всё
>>> будет".
>>> 
>>> Однако, я считатю, что подобный ответ не соответствует моему уровню.
>>> Предлагаемая бизнес-модель не работает, я проверил это на
>>> собственном опыте. В то же время, поддерживать этот модуль на
>>> собсвтенном энтузиазме мне тоже не имеет смысла, так как я уже вырос
>>> из nginx (sic!).
>>> 
>>> Nginx меня многому научил, и у меня появилось множество идей того,
>>> как всевозможные вещи реализовать на более высоком уровне, гибче и
>>> доступнее. Более того, часть из своих гипотез я уже успел проверить.
>>> Однако, я пока не уверен, что это выльется в конкретный проект.
>>> 
>>> Поэтому, как видите, ситуация не может сдвинутся с мертвой точки,
>>> несмотря на то, что в nginx достаточно было бы поправить несколько
>>> строк.
>> 
>> Валерий, если есть конкретные предложения, какие именно строки
>> поправить в самом nginx'е - пожалуйста, выскажи их.
> 
> Чтобы работало достаточно вернуть переменную to_write в ngx_http_request_body_t.
> 
>> Мне, к сожалению, не кажется, что дело ограничется парой строчек.
>> Чтобы нормально работать с телом запроса - нужен, в первую
>> очередь, механизм для этого, чтобы не приходилось, как это сейчас
>> сделано, переизобретать чтение тела запроса в каждом модуле,
>> которому что-то с телом надо сделать.
> 
>> Я потратил некоторое время на создание такого механизма в рамках
>> работы над поддержкой chunked-запросов, но a) upload модуль
>> придётся заметно переписать, чтобы использовать этот механизм и
>> б) скорее всего нужно будет ещё что-то допиливать, чтобы с этим можно
>> было нормально работать из сторонних модулей.
>> 
>> Если вдруг есть желание заняться/посмотреть - то патч можно взять
>> тут:
>> 
>> http://mailman.nginx.org/pipermail/nginx-devel/2013-March/003492.html
> 
> У меня самого где-то валяется подобный кусок кода. Проблема заключается в HTTP pipelining. Я уже два года назад просил механизм возвращения буферов в заголовок запроса. Без этого нельзя выйти из ситуации, когда за телом запроса незамедлительно следует часть заголовка следующего запроса.

не проверял, но есть мнение, что один сторонний патч nginx-upload-module работает с nginx 1.4.0
https://github.com/vkholodkov/nginx-upload-module/issues/45

> 
>> Из известных проблем - оно несовместимо со spdy, у которого, всилу
>> особенностей протокола, совсем своя логика чтения тела запроса.
> 
> -- 
> Best regards,
> Valery Kholodkov
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



Подробная информация о списке рассылки nginx-ru