изучить набор стандартных функций. Зачастую даже с большим опытом нужно изучать, набор блоков и стандартных функций постоянно расширяется
Как узнать, что именно подвешивает БАС?
-
@Fox said in Как узнать, что именно подвешивает БАС?:
@kuzkuz said in Как узнать, что именно подвешивает БАС?:
Если список небольшой,
Напишите пожалуйста сколько значений оставить в нем, я оставлю и поэксперементирую
В смысле?
У меня списки от 100 до 1000 записей.
Что значит список небольшой. В другой моей теме @UserTrue написал что 1000 значений - это небольшой список. Тогда я не понимаю причины подвисонов...
Поэтому основываясь на том что Вы написали выше, я и думаю до какого кол-ва значений урезать списки -
@kuzkuz said in Как узнать, что именно подвешивает БАС?:
@Fox said in Как узнать, что именно подвешивает БАС?:
@kuzkuz said in Как узнать, что именно подвешивает БАС?:
Если список небольшой,
Напишите пожалуйста сколько значений оставить в нем, я оставлю и поэксперементирую
В смысле?
У меня списки от 100 до 1000 записей.
Что значит список небольшой. В другой моей теме @UserTrue написал что 1000 значений - это небольшой список. Тогда я не понимаю причины подвисонов...
Поэтому основываясь на том что Вы написали выше, я и думаю до какого кол-ва значений урезать спискиВам написали уже два варианта решения вашей проблемы. Первый это добавить секундную задержку в цикл, второй это убрать лишние данные сразу. Я считаю, что задача решена
-
@kuzkuz
Замечал похожие автовыкиды, когда BAS нагружал оперативную память выше 400-500 мб при запуске в 1 поток (у меня тоже 4гб). Можно на это равняться, уменьшая количество ссылок в списке и пробуя разные варианты задержек. Можно прийти к оптимальному варианту. -
@Fox в моем первом посте я конкретно обозначил вопрос. Попросил совета - какой алгоритм вычисления причин подвисона (у опытных разрабов скриптов на бас). Вообще не факт что причина в списках, но я услышал. Попробую поработать для начала с ними. А да, и там же я спросил, как разустанавливать в бас переменные. Спасибо
-
@kuzkuz said in Как узнать, что именно подвешивает БАС?:
От больших списков избавился, все гонится через базу.
Частые обращения к базе тоже могут вызывать подвисание интерфейса, решается так же - поставьте минимальную задержку перед обращением к базе
-
@kuzkuz said in Как узнать, что именно подвешивает БАС?:
@Fox подскажите плз, для гет запросов, которые в цикле тоже, также лучше по умолчанию хоть какую то паузу ставить?
Нет, задержка нужна в бесконечных или очень больших циклах и при частых обращениях к базе
-
@kuzkuz said in Как узнать, что именно подвешивает БАС?:
@Fox крайний вопрос в этой теме.
Наличие большого количества переменных или списков (но не больших, а их просто много), которые тянутся до конца скрипта - могут вызывать такую проблему? (подвисоны)Нет, мы как то с @DrPrime проводили эксперементы с большими данными в переменных, особой разницы при обнулении переменных так и не увидели.
-
@kuzkuz
Я месяц назад попробовал. Оказалось все намного проще. DrPrime на стриме рекомендовал Zomro. Короче подключаешься как к удаленному рабочему столу через TeamVeawer и все дела. Из отличий только операционная система. там Windows Server 2012 r2, но она не сильно отличается от аналогов для ПК. -
Есть такой классный баг, когда БАС наглухо виснет, если брать из ресурса строку и удалять ее. На каждой 100000 строке происходит зависание, поэтому если что то серьезное пишешь, лучше потом вручную ковыряться и удалять строки из файла, чем брать строки из ресурса с удалением и радоваться последствиям зависона и безуспешно пытаться определить какие строки были использованы и какие нет. При убивании процесса БАС в диспетчере задач данные естественно не сохраняются.
-
@serrgo через базу работаю.
ПРИЧИНА ЗАВИСОНА ОБНАРУЖЕНА.
Но я не знаю как устранить проблему, уже все варианты перепробовал ))
Вообщем.
Создается список, от туда поочередно берутся значения, если предыдущее значение не устроило. Устроило - выходим из цикла (успешно), не устроило - берем следующее.
Так вот. Список кончается и начинается бесконечный цикл.
В лог мне пишет - взяли строку undefined (это я вывожу значение что он там взял). Строка не подходит. Берем по новой. взяли строку undefined и так до бесконечности. Так вот когда такой баг случался софт и вис. Но сейчас у меня задержка 1сек, поэтому зависона нет. Но как устранить этот бардак я не понимаю)) Удалял пустые строки, не помогает.