Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
Есть csp страница, где формируется большой отчёт. Сам отчёт строится гораздо больше одной минуты. Подскажите, как можно задать произвольный timeout для конкретной страницы. Пытаюсь делать на странице так, но не помогает. Код: plaintext 1. 2. 3. 4. 5. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 17:27 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
этот timeout, что пытаешься поменять относится к другому а повлиять ты пытаешь на timeout ответа сервера браузеру и помоему на него повлиять никак нельзя, он определяется в браузере, сколько он будет ждать ответа выход по-моему только один разбить отчет на попроще или сделать страницу для загрузки отчета в браузер, типа сначала загружается страница пустышка которая с определенной периодичностью запрашивает порцию отчета и выводит, таким образом можно и прогресс рисовать пользователю, а то он со скуки умрет, а так хоть что-то моргать будет, показывая что работа кипит. _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 18:09 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
sutni , оставь таймаут в покое именяй алгоритьму составления отчета. Пусть страничка живет своей жизнью, а отчет своей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2009, 20:37 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
Как я понял предлагается такой алгоритм: 1. Отрисовать страницу отчёта, без самих данных. 2. Запустить функцию получения данных. 3. После окончания ее работы отрисовать на странице данные. В связи с этим подскажите: На какое событие повесить вызов фунции получения данных? Сама страница - класс наследник от %ZEN.Component.page. Пытался сделать что-то типа: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 13:42 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
sutniЕсть csp страница, sutniСама страница - класс наследник от %ZEN.Component.page. Так чем же ты все же пользуешься? А алгоритм, как вариант, такой... - Показывается запрос на составление - По нажатию на кнопку "Составить" запускается процесс на сервере - Процесс пишет некий прогресс в оговореный глобал/класс - Страница переходит в некий режим ожидания с показом прогресса выполнения процесса - По окончании составления отчета он отображается на страниц (возможно уже другой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 14:03 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
sutniКак я понял предлагается такой алгоритм: 1. Отрисовать страницу отчёта, без самих данных. 2. Запустить функцию получения данных. 3. После окончания ее работы отрисовать на странице данные. В связи с этим подскажите: На какое событие повесить вызов фунции получения данных? Сама страница - класс наследник от %ZEN.Component.page. Пытался сделать что-то типа: Код: plaintext 1. 2. 3. 4. а вы не пробовали посмотреть что у вас на выходе получается ? вообще то данная строка не означает что на выходе будет именно скрипт, вы вставляете в html код и конечно он не выполнится и кстати, если я не ошибаюсь в setTimeout передается время в миллисекундах, и 50 миллисекунд по-моему это слишком быстро, за это время только ответа дождетесь от сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 14:11 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
krvsa Так чем же ты все же пользуешься? А алгоритм, как вариант, такой... - Показывается запрос на составление - По нажатию на кнопку "Составить" запускается процесс на сервере - Процесс пишет некий прогресс в оговореный глобал/класс - Страница переходит в некий режим ожидания с показом прогресса выполнения процесса - По окончании составления отчета он отображается на страниц (возможно уже другой) Это уже ясно. Можно конкретнее, какими стандартными методами для этого можно воспользоваться? На что по уму можно повесить начало построения отчёта? Куда копать? DAiMor, Сам-то метод BuildReport() выполняется. Только не после отрисовки страницы, как бы хотелось, а во время. Таким образом, всё равно приходится ожидать отчёта без прорисовки страницы. По поводу 50 - я пробовал и 5000. Результат тот-же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 14:29 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
sutniКуда копать? Так у тебя ZEN или CSP страница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 14:31 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
krvsa, ZEN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 14:59 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
скрипты на странице начинают выполнятся когда страница загрузилась _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 15:02 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
С ZEN DAiMor больше поможет... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 15:13 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
Как вариант на кнопку повесить JS-функцию которая вызовет кащейский метод, который запустит джоб, формирующий отчет. Затем скриптовая функция установит скриптовый таймаут, который будет читать "прогресс" кащейского джоба и чего-то показывать на странице... Когда отчет составится тайаутная функция может сделать переход на страницу с готовым отчетом... Вот типа такого я бы делал. ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 15:20 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
да ничего сильно отличающегося, вам уже сказали отделить формирование от отображения по запуску формирования запускается процесс наполнения данными какого-нибудь глобала на странице которая будет отображать, сделать скрипт который будет запускаться в settimeout и очередную забирать порцию данных с сервера, с проверкой не закончился ли процесс и соответственно вывод на страницу полученных данных, таким образом, странчка постепенно наполнится в процессе формирования либо если, у вас данные нельзя выдавать по-порционно но можно быстро вывести после формирования, есть вариант когда опять же 1 страница для ожидания окончания формирования данных, а по окончанию сразу перенаправляет на другую страницу в которую загрузятся уже сформированные данные _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 15:36 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
DAiMor, Идея ясна. Спасибо. Но как на ZEN странице запустить метод, который бы начал работу, когда страница уже отобразилась в браузере? Или для этого нужно впихнуть js-код в html? В Web-UI не силён. Извините. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 15:47 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
sutniDAiMor, Идея ясна. Спасибо. Но как на ZEN странице запустить метод, который бы начал работу, когда страница уже отобразилась в браузере? Или для этого нужно впихнуть js-код в html? В Web-UI не силён. Извините. вы же написали что ваш код работает &js<setTimeout("#(..BuildReport())#", 50);> только он выполнится 1 раз внутри BuildReport также ставьте SetTimeout чтобы он выполнялся постоянно и в нем же делать опросы сервера, соответственно BuildReport пишите на javascript и выполняется на клиенте из него вызывается ZenMethod который выполнится на сервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 16:01 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
DAiMorsutniDAiMor, Идея ясна. Спасибо. Но как на ZEN странице запустить метод, который бы начал работу, когда страница уже отобразилась в браузере? Или для этого нужно впихнуть js-код в html? В Web-UI не силён. Извините. вы же написали что ваш код работает &js<setTimeout("#(..BuildReport())#", 50);> только он выполнится 1 раз внутри BuildReport также ставьте SetTimeout чтобы он выполнялся постоянно и в нем же делать опросы сервера, соответственно BuildReport пишите на javascript и выполняется на клиенте из него вызывается ZenMethod который выполнится на сервере ..BuildReport() - это не одна итерация построения отчёта. Это весь фунционал отчёта (состоящий преимущественно из sql), выполняющийся довольно долго. Так вот в конструкции &js<setTimeout("#(..BuildReport())#", 50);> пока не выполнится BuildReport() - страница не отрисовывается. Хотелось бы вначале отрисовать страницу, а затем запустить BuildReport(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 16:10 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
тогда вы не так делаете есть страница на которой пользователь жмет "сформировать отчет" по нажатию запускается ФОНОВЫЙ процесс формирующий данные отчета и также запускается повторяющаяся функция которая будет опрашивать сервер на предмет получения информации о запущенном процессе ты опять же все пытаешься воткнуть в одну страницу, нужно разделение труда _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 16:23 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
DAiMor, Есть страница, где пользователь задаёт параметры отчёта с кнопкой Построить. После выбора параметров и нажатия этой кнопки выполняется код наподобие: Код: plaintext 1. 2. 3. Так вот на этой новой странице (PrActivity.SalesMgmt.Report.PReportByGoodNameDyn.cls) и строится сам отчёт. Хочется отобразить эту новую страницу с некоторым завораживающим gif'ом :), а тем временем запустить процедуру получения отчёта (BuildReport). После выполнения BuildReport динамически заполнить некий table и отобразить его на странице вместо gif. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 16:31 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
sutni , вот мы тебе и талдычим - меняй алгоритьм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 16:55 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
krvsa, Ну а чем этот плох? Просто сложный sql-запрос формируется и выполняется дольше одной минуты. Ну и следовательно достигается timeout. Нужно, как Вы все мне объяснили, отобразить вначале страницу, а потом запустить отчёт на формирование. Я согласен, так будет лучше. (Неплохо-бы заодно запустить это в параллельном режиме, но с job'ами я ещё не работал вовсе.) Так осталось дело за малым: разобраться как запустить на странице некий серверный метод после того как страница полностью отобразилась в браузере пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 17:06 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
извини, но может за тебя еще и код написать, мы предложили варианты решения задачи по конкретному вопросу, если интересует что-то еще задавай конкретней _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 17:10 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
DAiMor, Конкретно вопрос в следующем: как на Zen-странице выполнить её метод после полной отрисовки страницы? Если ответ подразумевает, что за меня нужно писать некий код - можно не отвечать. Спасибо. Извините. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 17:34 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
да что вы привязались к полной отрисовке, выполняйте в цикле javascript метод на клиенте который запускает zenmethod и возвращает порцию данных, данные кончились значит все готово у вас так даже данные в таблице будут появляться почти сразу, но постепенно _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 17:48 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
=sutniКонкретно вопрос в следующем: как на Zen-странице выполнить её метод после полной отрисовки страницы? Если ответ подразумевает, что за меня нужно писать некий код - можно не отвечать. Спасибо. Извините. Например, переопределив метод %OnAfterCreatePage() : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Я в нём выполнял запросы, выполнявшиеся более минуты (синхронно). PS: посмотрите ещё здесь и здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2009, 20:03 |
|
||
|
Timeout для отдельной csp-страницы
|
|||
|---|---|---|---|
|
#18+
servit, К сожалению, метод %OnAfterCreatePage выполняется до отрисовки страницы. Если я делаю так: Код: plaintext 1. 2. 3. 4. 5. Если сделать так: Код: plaintext 1. 2. 3. 4. 5. Настройка таймаута для всего приложения через портал управления конечно помогает. Но хотелось бы более точечной обработки длительных запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2009, 17:22 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=60&tid=1558467]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 405ms |

| 0 / 0 |
