|
|
|
|
|
для: Лена
(19.01.2009 в 11:00)
| | >А можно так, как Loki предложил, сделать?
можно, конечно.
Но одно другое не исключает, а дополняет.
>Есть просто файлы, в которых смещение вообще не высчитывается,
конечное смещение (длина текста) так или иначе есть у всех фрагментов. | |
|
|
|
|
|
|
|
для: Trianon
(19.01.2009 в 10:39)
| | Вы меня не поняли. Когда я делала по своему варианту:
"SELECT path FROM texts" - то есть без вашег условия, требующего заполнять только пустые ячейки, вот тогда скрипт и останавливался.
А можно так, как Loki предложил, сделать? Есть просто файлы, в которых смещение вообще не высчитывается, потому как в них количество слов меньше, чем необходимо на страницу, но скрипт, расчитывающий смещения, все равно в этом случае запускается. | |
|
|
|
|
|
|
|
для: Лена
(19.01.2009 в 10:01)
| | >Стала делать по 10 штук, поскольку скрипт не успевал все обработать. Запускала снова - и опять он обрабатывал те же самые файлы.
Вообще это странно довольно.
Как я понимаю, скрипт сразу после обработки файла записывает в поле посчитанное значение.
Как же он на следующем вызове возьмет строку из БД, когда условие стоит WHERE поле не заполнено ? | |
|
|
|
|
|
|
|
для: Лена
(19.01.2009 в 10:01)
| | Я такую штуку делал так: ставил в файле счетчик времени и, как только он достигал критической величины, файл сам себя вызывал снова, передав в качестве параметра последнюю отработанную строку. | |
|
|
|
|
|
|
|
для: Лена
(17.01.2009 в 22:50)
| |
<?
ignore_user_abort ( TRUE ) ;
|
тоже слудеут попробовать | |
|
|
|
|
|
|
|
для: Trianon
(18.01.2009 в 23:27)
| | Стала делать по 10 штук, поскольку скрипт не успевал все обработать. Запускала снова - и опять он обрабатывал те же самые файлы. | |
|
|
|
|
|
|
|
для: Лена
(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
а обработать столько сколько успеет скрипт.
И повторять, пока будет чего молоть. | |
|
|
|
|
|
|
|
для: 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 . "'";
?>
|
Спасибо, что находите для меня время. | |
|
|
|
|
|
|
|
для: Лена
(17.01.2009 в 23:41)
| | вообщем-то, полные пути к этим файлам должны жить в таблице.
Сейчас же имеет смысл, вероятно, разделить задачу на два этапа.
Первый (без открытия и обсчета файлов) закидывает пути в таблицу.
Второй - собственно, проход по таблице и обсчет смещений. | |
|
|
|
|
|
|
|
для: Лена
(17.01.2009 в 22:50)
| | При таком раскладе желательно хотя бы проконтролировать выполнение операций. Совсем недавно вот и вот видите сколько проблем с рекурсией... | |
|
|
|
|