@genericname1
Does this happen specifically when copying something inside BAS? In the script panel where the actions are or from the browser?
What version of BAS are you using?
Please record a video demonstrating the problem so that we can understand what is happening.
Живая связь двух скриптов **BAS**
-
@support Здесь я задавал вопрос на счёт возможности настройки пропуска кадров для каждого потока. Но ответа пока нет, да и я думаю он будет отрицательным, так как настройка глобальная.
А мне нужно, чтобы у меня один поток смотрел во все глаза (пропуск кадров 1), а остальные только ждали команды от первого (пропуск кадров 200-300). Реализовать это можно запустив одновременно два проекта BAS. Только вот как их связать? Кроме записать в файл\читать из файла, я ни чего не могу придумать. -
Эхх, видимо придётся городить огород
:(
Сделаю общение двух запущенных скриптов через базу. Первый будет с пропуском кадров 1, и работать в 1 поток, а второй с пропуском кадров 300 в 45 потоков.@support said in Пропуск Кадров:
Установка пропуска кадров означает, что вся отрисовка, выполнение js и вообще все действия связанные с работой браузера будут производиться раз в пропуск кадров / 30 секунд.
Получается если установить пропуск кадров на 300, то отрисовываться будет один кадр в 10 секунд??
И ведь пропуск кадров влияет только на получение информации со страницы? Если у меня скрипт будет в цикле ждать команду из базы, чтобы ввести данные на страницу в форму и отправить её кликом. Большой пропуск кадров ни как же не повлияет на время реакции?
-
@support У меня вопрос по производительности. Я думаю организовать так: первый скрипт находит информацию и записывает в базу. Во втором скрипте есть выделенный поток, который читает в цикле базу, и как только появляется новая информация, устанавливает глобальную переменную с этим значением. А остальные 40 потоков во втором скрипте читают в цикле глобальную переменную в ожидании значения.
Получается цепочка первый скрипт
>>база>>второй скрипт, первый поток>>второй скрипт, остальные потоки.Или организовать чтобы во втором скрипте все потоки читали базу? Цепочка выходит меньше, но возможно сильнее будет нагружать систему:
первый скрипт
>>база>>второй скрипт, все потоки.База же находится в файле, на накопителе, а глобальные переменные в оперативной памяти. Значит обращение к глобальной переменной получается менее ресурсо-затратной?
-
Вообщем запустил два скрипта, первый с пропуском кадров 1 и в 1 поток, второй с пропуском кадров 300 и в 45 потоков. Сильного прироста производительности я не заметил
:(Хотя больше грешу на обновления винды, появлялось окошко на счёт windows creators update.. А убрать автоматические обновления как то руки не доходят..

Думаю после тестовых суток, увеличить пропуск кадров до 500-600 у второго скрипта. Плюс убрать всевозможные автоматические обновления..
Связь между скриптами идёт через базу, время срабатывания 0-1 секунда. Что приятно радует.
-
@Fox said in Живая связь двух скриптов **BAS**:
Вообщем запустил два скрипта, первый с пропуском кадров 1 и в 1 поток, второй с пропуском кадров 300 и в 45 потоков. Сильного прироста производительности я не заметил
:(Хотя больше грешу на обновления винды, появлялось окошко на счёт windows creators update.. А убрать автоматические обновления как то руки не доходят..

Думаю после тестовых суток, увеличить пропуск кадров до 500-600 у второго скрипта. Плюс убрать всевозможные автоматические обновления..
Связь между скриптами идёт через базу, время срабатывания 0-1 секунда. Что приятно радует.
хера се ты насилуешь проц , ты че там битки майнишь что ли ? )
слухай у тебя в этом шаблоне регулярки юзаются? часто?
-
@Zenodrot у меня скрипт на 4000 строчек, пока самый масштабный мой проект. Больше всего нагружают проц потоки, к сожалению я их не смог перевести на get-запросы. Точнее часть функций реализована на запросах, но для получения данных, а не для отправки. Для отправки они используют шифрование..
Сутки не выждал теста. Спустя час система сервера зависает, пинги не идут, хоть и находится в одной локальной сети, TeamViewer говорит, что сервер оффлайн.
Запустил не в 45, а в 22 потока, полёт нормальный, всё отрабатывает как надо, всё идеально.. даже обидно блин.. Скрипт в 20 потоков приносит больше выгоды, чем в 40 потоков..И регулярки там есть, но не так уж и часто. Да я и сомневаюсь, что проседает производительность из за регулярок.
-
Поставил сейчас пропуск кадров 2000, дак ни одна страница не загрузилась
:D.Поток завершился с сообщением "Таймаут во время выполнения LoadPage https://*Видимо команду, что страница полностью загружена выдаёт браузер через js, а BAS не успевает её получить до таймаута в 120 000мс.
-
@Fox said in Живая связь двух скриптов **BAS**:
@Zenodrot у меня скрипт на 4000 строчек, пока самый масштабный мой проект. Больше всего нагружают проц потоки, к сожалению я их не смог перевести на get-запросы. Точнее часть функций реализована на запросах, но для получения данных, а не для отправки. Для отправки они используют шифрование..
Сутки не выждал теста. Спустя час система сервера зависает, пинги не идут, хоть и находится в одной локальной сети, TeamViewer говорит, что сервер оффлайн.
Запустил не в 45, а в 22 потока, полёт нормальный, всё отрабатывает как надо, всё идеально.. даже обидно блин.. Скрипт в 20 потоков приносит больше выгоды, чем в 40 потоков..И регулярки там есть, но не так уж и часто. Да я и сомневаюсь, что проседает производительность из за регулярок.
я недавно решил регуляркой выжить инфу из строк в 300 000 шт
у меня виртуалка колом встала -
@Zenodrot Ну я с максимальным текстовым объёмом работал на 2-3 мегабайта. Всё нормально работало. Думаю дело не в регулярке, а в логике программирования. Скинь тестовый проект, гляну. Если действительно использование регулярных выражений сильно сказывается на призводительности, буду перекраивать свой проект.
-
@Fox said in Живая связь двух скриптов **BAS**:
@Zenodrot Ну я с максимальным текстовым объёмом работал на 2-3 мегабайта. Всё нормально работало. Думаю дело не в регулярке, а в логике программирования. Скинь тестовый проект, гляну. Если действительно использование регулярных выражений сильно сказывается на призводительности, буду перекраивать свой проект.
ок, я к вечеру скину, там обычно все, берем в список 300 000 строк из них нужно взять мыло и пасс остальные строки без пасса пару экшенов, и на том моменте где происходит отработка регулярки, оператива и проц забивает на 100 %
-
Поставил сейчас таймаут по больше. Пропуск кадров 2000, пока вроде всё нормально работает :) Интересный момент:
@support said in Пропуск Кадров:Установка пропуска кадров означает, что вся отрисовка, выполнение js и вообще все действия связанные с работой браузера будут производиться раз в пропуск кадров / 30 секунд.
У меня пропуск кадров стоит 2000 / 30 секунд, выходит один кадр в 66 секунд, но у меня отрисовка выходит где то раз в 30 секунд..
-
@Fox said in Живая связь двух скриптов **BAS**:
@Zenodrot Ну я с максимальным текстовым объёмом работал на 2-3 мегабайта. Всё нормально работало. Думаю дело не в регулярке, а в логике программирования. Скинь тестовый проект, гляну. Если действительно использование регулярных выражений сильно сказывается на призводительности, буду перекраивать свой проект.
лови. в архиве список его на диск c:/, после выполнения на с:/ создается список с результами
*На зенке точно такой же проект с этой же точно регуляркой (идентичная регулярка) отрабатывает на ура. 1 секунда и готово
в басе полное зависания системы оператива под 100 и проц
если строк мало то нормально а 300 000+ строк сразу дохнет
0_1497535261340_mails.rarв зенке точно такая же логика читаем список в переменку в переменке парсим


думал регулярка изощренная слишком, нужно меньше комбинаций для вычесления выражения, тк список не маленький, но ХЗ в зинке то все норма ресурсов хватает успешно...

