Короче долбалса вчера с переносом куков через базу и понял что неблогадарное ето дело. Видно на слабых пк скрипт не хочет витаскивать дание типа куки 150 кб. один запись. В итоге понял что насторить роботу через ftp модуль мне лишним не будет. И хочу сказать роботает хорошо. Процес такой - Надо мне обработать какойто профайл с удальонного впс на другом компе. я просто скачиваю файл Cookies на второй пк через модуль фтп. В итоге сайт нормально подгружаетса. Но решил только один файл куки качать. С целой папкой профалом долго и обрыв может быть если в то время будет изменятса папка профайл. И вопрос. может ище что скачать для безпроблемной авторизации, Подскажите что будет полезно и содержитса в одном файле как куки. И остаетса вопрос сайти могут увидеть какието пробели в куках, или доругой инфе, что идет с профайла? Но роботает. И врятли я не буду так делать Но хочетса знать что можно подпарвить
spoilerКак ограничить количество повторов?
-
Если через "игнорировать ошибку" какой то процес зациклен, можно как то ограничетить количество повторов? Нужен простой способ, добавлять +1 в переменную это не подходит, не хочу засорять скрипт. Или как то можно ограничить максимальную длительность выполнения сценария? Это бы тоже могло решить проблему, но везде ставить проверку времени, это конечно так же не подходит, нужно простое решение.
-
Выше написали про CYCLE_INDEX.
В любом цикле (for, while, foreach) есть встроенный счетчик [[CYCLE_INDEX]]. Он автоматически увеличивается с каждой итерацией (повтором). Без него цикл, в принципе, был бы невозможен.Допустим есть бесконечный цикл while (или любой другой цикл):
while (true) { Любая логика скрипта... }Нужно прервать цикл на 20 повторе, пишем условие и прерываем скрипт командой "Break". Как скрипт дойдет до условия if и [[CYCLE_INDEX]] будет равняться 20, цикл прервется:
while (true) { if ( [[CYCLE_INDEX]] === 20 ) { Break } Любая логика скрипта... }Условие можно любое писать, можно не использовать [[CYCLE_INDEX]], а вместо этого проверять, допустим равняется ли какая-нибудь переменная тому-то и если равняется, то прервать цикл Break'ом.
Это я в стиле JavaScript'а написал. В BAS точно так же делаешь этими же блоками (Цикл - while, условие - if, прервать цикл - Break).
А вообще если определенное количество повторов нужно, то лучше использовать цикл For. Там повторений столько, сколько ты написал.
-
@SecDeveloper спасибо за информацию. Если не сложно, не могли бы вы показать на примере, возьмем загрузка страницы зацыклена через игнорировать ошибку, что туда добавить что бы попыток было не больше 10. Я то смысл понимаю, хочеться сделать максимально красиво и компактно.
-
@SecDeveloper в "игнорировать ошибку" нету CYCLE_INDEX
-
@Andrey550 said in Как ограничить количество повторов?:
@SecDeveloper в "игнорировать ошибку" нету CYCLE_INDEX

Скрипт: 2128.xml