Комментарии 10
я, конечно, не работал с битриксом, но если я все правильно понял ИМ требуется (25 * 60) минут / 440 = 3.4 секунды на то чтобы отобразить 50 товаров?
+4
Хотелось бы спросить причем тут ajax?
п.с. Почему бы не поступить еще проще, написать таск который сформирует yml для яндекса и по завершению пнет яндекс что бы он сходил и забрал этот файл?
п.с. Почему бы не поступить еще проще, написать таск который сформирует yml для яндекса и по завершению пнет яндекс что бы он сходил и забрал этот файл?
+10
Уточню немного. Задача из статьи решается с помощью PHP скрипта, запускаемого на сервере по расписанию — cron task.
+1
Такая задача в кроне висит, заказчик хотел дополнительно запускать ручками.
Что касается ajax, тут да, если задуматься, то получается, что в данном примере запросы идут не совсем асинхронно. После завершения одного запроса, этим же скриптом запускается другой. И так пока не обработаем все, что есть.
Возможно пример приведен не совсем в тему, однако, его цель была показать существенное сокращение времени, когда для обработчика запроса пишется свой индивидуальный код.
Что касается ajax, тут да, если задуматься, то получается, что в данном примере запросы идут не совсем асинхронно. После завершения одного запроса, этим же скриптом запускается другой. И так пока не обработаем все, что есть.
Возможно пример приведен не совсем в тему, однако, его цель была показать существенное сокращение времени, когда для обработчика запроса пишется свой индивидуальный код.
-1
мораль — делаешь что-то на битриксе — не используй его
+16
Ничего не понял, да и не работал с Битриком, но 40 секунд без информирования пользователя о состоянии тоже много. Можно же поступить так: отправить запрос на формирование данных на сервер, сервер тут же вернёт идентификатор запроса и начнёт обработку, с клиента периодически (раз в 5-10 секунд) по этому идентификатору проверять статус обработки и информировать пользователя. когда обработка закончится, в ответ на запрос придёт результат. Кажется это называется REST API.
Термин AJAX уже давно не употребляется т.к. это давно стандартная технология по-умолчанию в вебе, а статья видимо лежала в закромах лет 10.
Термин AJAX уже давно не употребляется т.к. это давно стандартная технология по-умолчанию в вебе, а статья видимо лежала в закромах лет 10.
-1
Такие задачи обычно выполняются регулярно, по крону. Пользователь (вернее, администратор ИМ) вообще информируется только в случае проблем с выполнением задачи. У нас, например, задачи по выгрузке в Яндекс.Маркет и ещё в несколько мест выполняются раз в 1-3 часа (периодичность зависит от задачи). Пользователь задолбается читать, что задача отработала штатно. Наоборот, ему интересно будет сообщение, что задача не выполнилась.
Никакой аякс, разумеется, не нужен. В Битриксе есть задачи экспорта, можно написать свой скрипт, который будет делать вообще что угодно и повесить его на крон.
Никакой аякс, разумеется, не нужен. В Битриксе есть задачи экспорта, можно написать свой скрипт, который будет делать вообще что угодно и повесить его на крон.
0
Сейчас проблема оповещения пользователя о состоянии обработки решается путем возвращения обработанного количества товаров на каждой итерации. В принципе если погнаться за лоском, можно и прогресс бар прикрутить.
REST в предлагаемой вариации не прокатит. В данном случаи я не могу запустить скрипт, который бы мог крутиться более 30 секунд — time_limit на сервере, администратор которого менять не дал. А искусственно сбрасывать значение времени выполнения на каждой внутренней итерации, через set_time_limit() — не совсем хорошо, на мой взгляд.
Хотя признаю, что скрипт который работает по крону сбрасывает счетчик времени на каждой итерации.
REST в предлагаемой вариации не прокатит. В данном случаи я не могу запустить скрипт, который бы мог крутиться более 30 секунд — time_limit на сервере, администратор которого менять не дал. А искусственно сбрасывать значение времени выполнения на каждой внутренней итерации, через set_time_limit() — не совсем хорошо, на мой взгляд.
Хотя признаю, что скрипт который работает по крону сбрасывает счетчик времени на каждой итерации.
0
Ведь так велик соблазн загрузить основные стили,Мрачно подозреваю, что все они и без AJAX попали бы в кэш браузера и оттого не подгружались бы из Сети в дальнейшем.js-скрипты, картинки и шрифты и прочее только один раз, а дальше с помощью AJAX подгружать только необходимый контент.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
AJAX и производительность