|
|
|
|
|
для: Владимир55
(15.03.2009 в 20:51)
| | >"если у Вас [на хостинге] время выполнения скрипта не ограничено жестко, то можно сделать set_time_limit(0); "
>
>Весьма разочаровался в этом параметре и взял себе за правило не применять его без крайней необходимости. Причина - весьма убедительное разъяснение Trianon
> о том, что база не гарантирует работоспособность при выполнении одного запроса более, чем 30 секунд, вне завистмости от set_time_limit.
Вообще-то я говорил не о базе, а о сервере. О http-сервере. Которого в случае вызова по локальному cron просто нет.
Хотя скрипт, выполняющийся час, всё равно наводит на мысль, что где-то что-то не так. | |
|
|
|
|
|
|
|
для: Владимир55
(15.03.2009 в 12:34)
| | Все, что выводит задание по cron - игнорируется, тем более HTML-тэги, которые интерпретируются браузером, находящимся по другую сторону сети от сервера. | |
|
|
|
|
|
|
|
для: Владимир55
(15.03.2009 в 20:51)
| | Скажу по секрету, крон не знает хтмл тегов. Их знает браузер :) | |
|
|
|
|
|
|
|
для: ddhvvn
(15.03.2009 в 19:13)
| | "Да и как же у Вас скрипт узнает сколько уже обработано?"
С этим параметром проблем нет - ведь обработанные строки, как я уже написал выше, удаляются из таблицы с исходными данными.
"если у Вас [на хостинге] время выполнения скрипта не ограничено жестко, то можно сделать set_time_limit(0); "
Весьма разочаровался в этом параметре и взял себе за правило не применять его без крайней необходимости. Причина - весьма убедительное разъяснение Trianon
о том, что база не гарантирует работоспособность при выполнении одного запроса более, чем 30 секунд, вне завистмости от set_time_limit.
=============
Похоже, что придется поискать иное решение. | |
|
|
|
|
|
|
|
для: Владимир55
(15.03.2009 в 18:15)
| | Не очень хорошо.
Да и как же у Вас скрипт узнает сколько уже обработано? Или он заново все проверяет?
P.S.: если у Вас [на хостинге] время выполнения скрипта не ограничено жестко, то можно сделать
<?php
set_time_limit(0);
..
?>
|
и скрипт будет работать до тех пор, пока не завершит свою работу естественным способом. | |
|
|
|
|
|
|
|
для: ddhvvn
(15.03.2009 в 17:09)
| | Про cron и речь.
Сron инициирует исполнение скрипта, но скрипт не может выполнить всю работу, поскольку для её исполнения требуется слишком много времени непрерывного функционирования. Чобы решить эту проблему, я ограничиваю объем обрабатываемых данных в размере 500 строк таблицы. Но реально строк может быть и 300, и тридцать тысяч. Поэтому надо сделать так, чтобы после обработки этих пятисот строк скрипт, если это нужно, САМ запустился еще раз и обработал следующие 500 строк, и так до полной обработки всей информации.
Вот для этого и редирект на самого себя. | |
|
|
|
|
|
|
|
для: Владимир55
(15.03.2009 в 16:31)
| | ну так для этого и создан cron =)
Не пойму зачем вообщем этот странный редирект? | |
|
|
|
|
|
|
|
для: ddhvvn
(15.03.2009 в 15:43)
| | Автоматически - это ежедневно в четыре часа утра, когда загрузка сервера минимальна. Идет почти час. | |
|
|
|
|
|
|
|
для: Владимир55
(15.03.2009 в 14:53)
| | Тем более не понятно тогда.
"Автоматической" это как?
Почти нельзя запустить сам скрипт архивации (он же Ваш)? | |
|
|
|
|
|
|
|
для: ddhvvn
(15.03.2009 в 14:12)
| | "а зачем крону такое тыкать вообще?"
Для автоматической архивации. | |
|
|
|
|