Добрый день.
Код следующий:

скрытый текст

Выделить код

Код:

iimPlayCode('URL GOTO=file:///'+ path + file);
iimPlayCode('TAG POS=1 TYPE=PRE ATTR=* EXTRACT=TXT');


код публикуется в тегах code внутри спойлера
Проблема заключается в том, каждое последующее открытие файла происходит все дольше, поскольку FF виснет. Например, на десятой итерации браузер зависает примерно на 2.5 минуты. Зависание происходит на уровне процессора, поскольку процессом съедается 25% от 4х ядер.
Есть ли какие-нибудь варианты решения? Перезапуск FF - не вариант.

P.S. В файле находятся урлы, один из которых извлекается, удаляется из массива, а оставшиеся записываются обратно в файл. По извлеченному урлу происходит переход.

InfSub

в рамках флуда

Codepg пишет

В файле находятся урлы, один из которых извлекается, удаляется из массива, а оставшиеся записываются обратно в файл. По извлеченному урлу происходит переход.

- я понимаю, у всех свои задачи, но зачем так сложно? Можно просто переходить по урлу без удаления и перезаписи, просто перебирая их в цикле по порядку или рандомно.

udalov
удалено, избыточное цитирование
Все очень просто. После перехода над страницей производятся ручные манипуляции. На разных страницах количество выполняемых действий разное, сколько будет на это потрачено времени - не известно, следовательно ограничивать по времени (WAIT SECONDS) - не вариант.

А есть ли какой-нибудь вариант, типа "слушать", т.е. ожидать нажатия какой-то комбинации клавиш, чтобы продолжить выполнение цикла?

InfSub

Да, команда PAUSE

Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

.

точно, спасибо!

Тему можно закрыть, разобрался. Стыдно признать, но забыл убрать комментарий со строки, которая отвечала за удаление txt файла, как результат, с каждым последующим открытием, файл рос, как на дрожжах.

Codepg
Если я правильно понял, вы берете только 1 урл (1строку) за цикл, для чего тогда вы считываете весь файл, когда можно считать 1 строку?

InfSub,
мне необходимо взять одну случайную строку. Есть вариант проще? Единственное, что пришло в голову - это считать полностью, построчно залить в массив, а далее брать рандомный элемент массива.

Codepg
как вариант, но в таком случае вам не нужно перечитывать данный файл, а вы его зачем-то перечитываете после каждого цикла, опять же, если я правильно понял

InfSub
да, все верно. Как я понимаю, вы намекаете на то, что предложил udalov, т.е. делать в цикле, не перезаписывая файл?

Codepg
можно, вот только конкретно говорить сложно, ибо вы описали только проблему, без описания механизма
к примеру, для чего вам перезапись?
да и потом, кто мешает дописывать данные в файл, только для синхронизации (т.е. чтобы не потерять данные), не считывая его после дозаписи
работать же с массивом, так же дополняя его данными, не перечитывая его каждый раз

InfSub,
спасибо, мысль уловил, подумаю над реализацией.