Не Грамм не вру и Благодарен им таким кто тут есть, а кто Мухи залетающие, тем бы по сути ничего не давать, ток портят и Антифрод, взращивают :(
Совести нету, считай Души нету :)))
Подвисает BAS из за асинхронных функций.
-
Приветствую!
Вопрос, есть главный поток который работает с телеграмм ботом и вызывает асинхронные функции, в процессе выполнения внутри асинхронных функций если они подвисают то зависает БАС целиком?
Может есть варианты выделять асинхронным функциям отдельный свой айди поток в диспетчере задач чтобы если конкретная асинхронная функция в данный момент подвисала то не затрагивала полностью весь БАС.
Как найти какие асинхронные функции делают подвисание бо их куча.. отладка может какая есть специальная? или другое решение то подскажите пожалуйста.
Спасибо за советы. -
Javascript однопоточный. Один зависшая операция влияет на весь скрипт.
@DrPrime said in Подвисает BAS из за асинхронных функций.:
Решается добавлением микропаузы в 20- 100 мс в таких циклах.
Это как раз позволяет планировщику переключить задачу.
-
заметил тоже это если в асинхронку передавать большой массив в моём случае 90к+ элементов, хз как быть, просто не хотелось бы в асинхронке каждый раз читать и создавать массив, а хотелось бы запуске скрипта один раз создать и передавать в асинхронку, для моих нужд мне хватает версии 23.2.2, на более новых не пробовал проверить это
-
@genericname1 so I do not know how to solve this problem(
-
@ElTigre работайте через базу данных или даже через файл, скорей всего бас передает данные в асинхронные функции в формате json, поэтому и подвисает пока его в json и обратно гоняет.
Например вы можете записать этот список в файл со случайным именем и передать в функцию только имя файла, а в ней уже его прочитать и удалить. Костыль , но зато подписать не будет
-
@UserTrue у меня изначально читает ресурс в список, затем его в json перегоняет, но это до асинхронки происходит, а вот когда видать она запускается, виснет.
Щас по пробовал без передачи данных в асинхронку, а через глобальные переменные, так вот теперь бас виснет когда он из обычной переменной, Json массив записывает в глобальную переменную.(а если массив не такой большой, то всё ок)
Ещё пробовал каждый раз тупо читать в список в самой асинхронке и перегонять в Json, но мне это не нужно каждый раз делать при запуске асинхронки, т.к. это тратит определённое время каждый запуск функции, но при таком варианте всё работает. Только дольше отрабатывает функцию и за большого массива(
Вот даже щас в режиме записи бас повис записывая массив из обычной переменной в глобальную(