Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Maximum execution time of 30 seconds(файлы+UPDATE)

Сообщения:  [1-10]   [11-14] 

 
 автор: Trianon   (19.01.2009 в 11:29)   письмо автору
 
   для: Лена   (19.01.2009 в 11:00)
 

>А можно так, как Loki предложил, сделать?

можно, конечно.
Но одно другое не исключает, а дополняет.


>Есть просто файлы, в которых смещение вообще не высчитывается,

конечное смещение (длина текста) так или иначе есть у всех фрагментов.

  Ответить  
 
 автор: Лена   (19.01.2009 в 11:00)   письмо автору
 
   для: Trianon   (19.01.2009 в 10:39)
 

Вы меня не поняли. Когда я делала по своему варианту:
"SELECT path FROM texts" - то есть без вашег условия, требующего заполнять только пустые ячейки, вот тогда скрипт и останавливался.
А можно так, как Loki предложил, сделать? Есть просто файлы, в которых смещение вообще не высчитывается, потому как в них количество слов меньше, чем необходимо на страницу, но скрипт, расчитывающий смещения, все равно в этом случае запускается.

  Ответить  
 
 автор: Trianon   (19.01.2009 в 10:39)   письмо автору
 
   для: Лена   (19.01.2009 в 10:01)
 

>Стала делать по 10 штук, поскольку скрипт не успевал все обработать. Запускала снова - и опять он обрабатывал те же самые файлы.

Вообще это странно довольно.
Как я понимаю, скрипт сразу после обработки файла записывает в поле посчитанное значение.
Как же он на следующем вызове возьмет строку из БД, когда условие стоит WHERE поле не заполнено ?

  Ответить  
 
 автор: Loki   (19.01.2009 в 10:21)   письмо автору
 
   для: Лена   (19.01.2009 в 10:01)
 

Я такую штуку делал так: ставил в файле счетчик времени и, как только он достигал критической величины, файл сам себя вызывал снова, передав в качестве параметра последнюю отработанную строку.

  Ответить  
 
 автор: USED   (19.01.2009 в 10:09)   письмо автору
 
   для: Лена   (17.01.2009 в 22:50)
 


<?
ignore_user_abort 
TRUE ) ;

тоже слудеут попробовать

  Ответить  
 
 автор: Лена   (19.01.2009 в 10:01)   письмо автору
 
   для: Trianon   (18.01.2009 в 23:27)
 

Стала делать по 10 штук, поскольку скрипт не успевал все обработать. Запускала снова - и опять он обрабатывал те же самые файлы.

  Ответить  
 
 автор: Trianon   (18.01.2009 в 23:27)   письмо автору
 
   для: Лена   (18.01.2009 в 22:07)
 

а зачем по 10 штук?

Во-первых можно лишь те, что надо.
SELECT path FROM texts WHERE offset IS NULL LIMIT 10

Во-вторых можно и по 100
SELECT path FROM texts WHERE offset IS NULL LIMIT 100

В-третьих можно вообще все выбрать
SELECT path FROM texts WHERE offset IS NULL
а обработать столько сколько успеет скрипт.

И повторять, пока будет чего молоть.

  Ответить  
 
 автор: Лена   (18.01.2009 в 22:07)   письмо автору
 
   для: Trianon   (18.01.2009 в 00:27)
 

Сделала.
>Первый
прошлась по директориям и забросила пути в таблицу:

<?php
$sql 
"UPDATE texts SET path ='".$path."' WHERE main_text = '" $filename "'"//$filename - название файла в директории
?>

>Второй
тут пришлось делать "порциями", брала по 10 штук файлов и делала в них смещения
Выбрала путь из таблицы:

<?php
$sql 
"SELECT path FROM texts WHERE id BETWEEN 1 AND 10";
?>

открыла файл, расчитала смещение, вставила смещение в таблицу:
<?php
$sql 
"UPDATE texts SET offset = '" $all_offset "' WHERE path = '" $path "'";
?>

Спасибо, что находите для меня время.

  Ответить  
 
 автор: Trianon   (18.01.2009 в 00:27)   письмо автору
 
   для: Лена   (17.01.2009 в 23:41)
 

вообщем-то, полные пути к этим файлам должны жить в таблице.

Сейчас же имеет смысл, вероятно, разделить задачу на два этапа.
Первый (без открытия и обсчета файлов) закидывает пути в таблицу.
Второй - собственно, проход по таблице и обсчет смещений.

  Ответить  
 
 автор: Николай2357   (17.01.2009 в 23:48)   письмо автору
 
   для: Лена   (17.01.2009 в 22:50)
 

При таком раскладе желательно хотя бы проконтролировать выполнение операций. Совсем недавно вот и вот видите сколько проблем с рекурсией...

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования