|
|
|
|
|
для: Владимир55
(11.11.2012 в 19:52)
| | Данные буферизуются, если не будет долго ответа от сервера, браузер может решить, что связь прервалась... не будет больше браузер грузить страницу и связь прервалась, если же вы загрузили страницу и запустили JS-таймер - он будет дергать сервер до потери пульса, хоть несколько дней подряд. | |
|
|
|
|
|
|
|
для: cheops
(11.11.2012 в 18:31)
| | "не очень надежно"
Вот и у меня такое же ощущение - именно, что ненадежно: то ли сработает, то ли нет. Хотя, по идее, чем этот оператор отличается от других?
Почему это он может не сработать? | |
|
|
|
|
|
|
|
для: Владимир55
(11.11.2012 в 14:04)
| | В общем корректно, но не очень надежно, лучше запустить на JavaScript таймер, я кстати, что-то такое и на Bitrix видел (особенно, при формировании резервных копий). На парсинге такого может и не быть, более того, тоже сталкивался с тем, что Bitrix не успевает развернуть резервную копию из-за ограничений по времени. Обычно забрасываю архив прямо на этот же хост, указываю загрузку с удаленного хоста и подставляю http-адрес архива, в результате чего Bitrix очень быстро его загружает и успевает развернуть. | |
|
|
|
|
 6.7 Кб |
|
|
для: cheops
(11.11.2012 в 08:41)
| | Я тоже предположил, что достаточно смены УРЛа. А если так, то можно использовать два файла с закольцованным редиректом.
В первом файле:
<?php
Список исполняемых кодов.
...
...
$no - номер цикла
header('Location: file-2.php?no=$no);
exit;
|
Во втором файле
<?php
$no = $_GET['no']++;
header('Location: file-1.php?no=$no);
exit;
|
Это корректно?
==================
Во вложении скриншот нагрузки на хостинг при импорте большого прайса в HostCMS. Можно увидеть, что закачка длится больше двух часов и нагрузка вдвое превышает все допустимые нормы, однако хостинг этот процесс не блокирует.
А в Битрексе хостинг обрывает загрузку ровно через 10 минут, поскольку у хостинга лимит на процесс 600 секунд, а процесс не дробится... | |
|
|
|
|
|
|
|
для: Владимир55
(10.11.2012 в 19:58)
| | В принципе любое задание будет новым, так как будет запускаться новый процесс/поток (в зависимости от операционной системы), а по времени и ресурсам ограничиваются именно процессы/потоки. | |
|
|
|
|
|
|
|
для: cheops
(10.11.2012 в 14:29)
| | А какого интервала времени достаточно для того, чтобы хостинг посчитал это задание новым?
Ведь не обязательно ждать целую секнуду? | |
|
|
|
|
|
|
|
для: Владимир55
(10.11.2012 в 12:18)
| | PMA - PhpMyAdmin. Думаю Вы знаете что это. Просто аббревиатуру не поняли =) | |
|
|
|
|
|
|
|
для: Владимир55
(10.11.2012 в 13:46)
| | Наладить сron-задание, которое будет ожидать файл в определенной папке или запустить таймер на JavaScript. | |
|
|
|
|
|
|
|
для: cheops
(10.11.2012 в 13:04)
| | Помимо оптимизации запросов, хостер предлагает еще осуществить закачку по частям, поскольку на хостинге установлено максимально время обработки (600 секунд).
Это легко реализовать вручную, разбив CSV файл на части. Но так неинтерено...
А как закачать большой CSV файл, но чтобы для хостинга его исполнение было как серия независимых коротких закачек? | |
|
|
|
|
|
|
|
для: Владимир55
(10.11.2012 в 12:19)
| | Если у вас директива mbstring.func_overload не установлена в значение 2, то strlen() возвращает количество байт, т.е. можно использовать результат как есть для сравнения с max_allowed_packet. В этом и проблема PHP, что стандартные функции не работают корректно со стандартными кодировками. Если же у вас mbstring.func_overload установлен таким образом, что осуществляется перехват вызовов стандартных строковых функций и вызов mb_string аналогов, тогда да, нужно умножать на 2 (в случае русской кодировки). | |
|
|
|
|