|
|
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
Есть серверная задача которая может обрабатываться несколько минут. Надо чтобы юзер мог запустить эту задачу и дождался ответа в виде присылаемого файла. Проблема в том, что браузер не может дождаться пока серевер досчитает задачу до конца и отваливается с таймаутом. Нужны идеи как это решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 19:02 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
White Owl, ... один из вариантов: браузер отправляет запрос, и не ждет ответа, а просто включает джаваскриптовый таймер, например .. а сервер не отдает файл в респонс, а сохраняет у себя в папке, примапленной к веб-приложению ... клиент по таймеру обращается за файлом, если его нет - "Позвоните через 2 минуты" ... примерно так .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 19:33 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
Временные файлы делать можно, но очень не хочется. Это конечно почти беспроигрышный вариант, но... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 19:59 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
Еще бродит идея чтобы серевер отсылал готовый файл на почту юзеру. Но... как-то не лежит к этому душа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 20:02 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
отваливается по таймауту как правило сервер, а не браузер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 20:30 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
White Owl, на сервере - запуситить JOB (любым приемлемым способом), параметры джоба вернуть в куку, бровзер неспешно запрашивает аякс- запросами статус джоба ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 21:24 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
вдруг поможет :) Sometimes the hardest thing to get a script to do is to do nothing at all— for a specific amount of time. Fortunately, JavaScript includes a built-in function to do this. The window.setTimeout method enables you to specify a time delay and a command that will execute after the delay passes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 22:03 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ИзопропилWhite Owl, на сервере - запуситить JOB (любым приемлемым способом), параметры джоба вернуть в куку, бровзер неспешно запрашивает аякс- запросами статус джобаЭто уже предлагали. Но мне не хочется плодить временные файлы которые будут нужны для этого решения. Хранить результат задачи в блобе в БД тоже не хочется. и по тем же причинам что и временные файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2015, 22:56 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
White OwlИзопропилWhite Owl, на сервере - запуситить JOB (любым приемлемым способом), параметры джоба вернуть в куку, бровзер неспешно запрашивает аякс- запросами статус джобаЭто уже предлагали. Но мне не хочется плодить временные файлы которые будут нужны для этого решения. Хранить результат задачи в блобе в БД тоже не хочется. и по тем же причинам что и временные файлы.Вам не хочется, а людям, кто этим буду пользоваться, куда смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 00:21 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
skyANAWhite Owlпропущено... Это уже предлагали. Но мне не хочется плодить временные файлы которые будут нужны для этого решения. Хранить результат задачи в блобе в БД тоже не хочется. и по тем же причинам что и временные файлы.Вам не хочется, а людям, кто этим буду пользоваться, куда смотреть????? Я не понял вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 00:39 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
White Owl, занимать рабочий процесс/поток вебсервера ожиданием/исполнением длительной операции - не лучшая идея, так понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 01:02 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ИзопропилWhite Owl, занимать рабочий процесс/поток вебсервера ожиданием/исполнением длительной операции - не лучшая идея, так понятнее?Ну.... С такой постановкой вопроса я конечно соглашусь. Но... А как иначе то? Да и не так уж это и страшно на самом-то деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 02:12 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
White OwlА как иначе то? иначе - как писали - запустить асинхронный процесс и опрашивать готовность. Да и пользователю легче будет ожидать появления файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 10:48 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
White OwlНо мне не хочется плодить временные файлы Временный файл - это же не обязательно файл в файловой системе, можно его и в памяти хранить в каком-нибудь мем-кешед хранилище типа redis. Вообще, тут ничего выдумывать не надо, всё уже выдумано за нас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 10:58 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
Use WebSockets, Luke! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 14:06 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ДринкинсUse WebSockets, Luke! расскажи как файл будешь принимать кроссброузерно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 14:50 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ИзопропилДринкинсUse WebSockets, Luke! расскажи как файл будешь принимать кроссброузернонаверное лишь для оповещения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 15:22 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
Antonariyнаверное лишь для оповещения. оповещения можно получать и через XMLHTTPRequest как я понимаю - топикстартер хочет сказать GET и через 5 минут получить файл. Идея нездоровая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 16:03 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ИзопропилДринкинсUse WebSockets, Luke! расскажи как файл будешь принимать кроссброузерно Вебсокет использовать для подачи команды на формирование файла, и на получение прогресса формирования. По окончании формирования - получить файл обычным гетом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 19:09 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ДринкинсПо окончании формирования - получить файл обычным гетом. топи читал хоть по диагонали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 19:35 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
ИзопропилДринкинсПо окончании формирования - получить файл обычным гетом. топи читал хоть по диагонали? браузер не может отвалиться по таймауту. отваливается сервер. надо на сервере задавать длительность сессии. (или продлять при наличии задачи) а Дринкинс ошибся на 50% - если запускать задачу websocket(ом) - то и готовый файл отправлять websocket(ом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 20:36 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
вадябраузер не может отвалиться по таймауту легко и непринуждённо вадято и готовый файл отправлять websocket(ом) на диск сохрани ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 21:43 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
[quot Изопропил]вадявадято и готовый файл отправлять websocket(ом) на диск сохрани где сохранить? на сервере? у клиента? когда создаётся файл подразумевается, что на сервере при его создании он уже на диске, иначе он бы не создавался стока времени, ну а переданный клиенту он и так будет сохранён. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:24 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
вадя, у клиента как сохранить? вадякогда создаётся файл подразумевается, что на сервере при его создании он уже на диске, иначе он бы не создавался стока времени о чём это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:35 |
|
||
|
Долгоиграющий запрос.
|
|||
|---|---|---|---|
|
#18+
Изопропилвадя, у клиента как сохранить? у тебя с этим проблема? авторавтор когда создаётся файл подразумевается, что на сервере при его создании он уже на диске, иначе он бы не создавался стока времени о чём это? об этом автор Надо чтобы юзер мог запустить эту задачу и дождался ответа в виде присылаемого файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:57 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38882171&tid=1446257]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 489ms |

| 0 / 0 |
