Живая связь двух скриптов **BAS**



  • @support Здесь я задавал вопрос на счёт возможности настройки пропуска кадров для каждого потока. Но ответа пока нет, да и я думаю он будет отрицательным, так как настройка глобальная.
    А мне нужно, чтобы у меня один поток смотрел во все глаза (пропуск кадров 1), а остальные только ждали команды от первого (пропуск кадров 200-300). Реализовать это можно запустив одновременно два проекта BAS. Только вот как их связать? Кроме записать в файл\читать из файла, я ни чего не могу придумать.


  • administrators

    @Fox Почему же отрицательный. Сделаю вместе с настройкой флеш и вебртс. Связь через файлы, базу.



  • @support Точно!!! База же есть!! И её можно использовать разными скриптами, даже на разных машинах!

    Сделаю вместе с настройкой флеш и вебртс

    Это вы про настройку пропуска кадров для каждого потока?


  • administrators

    @Fox

    Это вы про настройку пропуска кадров для каждого потока?

    Да



  • @support по наглею немного.. А примерные сроки можно? Есть ли смысл сейчас городить огород, либо подождать релиза?


  • administrators

    @Fox Сделаю через неделю.



  • @support Хорошо.



  • Эхх, видимо придётся городить огород :(
    Сделаю общение двух запущенных скриптов через базу. Первый будет с пропуском кадров 1, и работать в 1 поток, а второй с пропуском кадров 300 в 45 потоков.

    @support said in Пропуск Кадров:

    Установка пропуска кадров означает, что вся отрисовка, выполнение js и вообще все действия связанные с работой браузера будут производиться раз в пропуск кадров / 30 секунд.

    Получается если установить пропуск кадров на 300, то отрисовываться будет один кадр в 10 секунд??

    И ведь пропуск кадров влияет только на получение информации со страницы? Если у меня скрипт будет в цикле ждать команду из базы, чтобы ввести данные на страницу в форму и отправить её кликом. Большой пропуск кадров ни как же не повлияет на время реакции?



  • @support У меня вопрос по производительности. Я думаю организовать так: первый скрипт находит информацию и записывает в базу. Во втором скрипте есть выделенный поток, который читает в цикле базу, и как только появляется новая информация, устанавливает глобальную переменную с этим значением. А остальные 40 потоков во втором скрипте читают в цикле глобальную переменную в ожидании значения.

    Получается цепочка первый скрипт >> база >> второй скрипт, первый поток >> второй скрипт, остальные потоки.

    Или организовать чтобы во втором скрипте все потоки читали базу? Цепочка выходит меньше, но возможно сильнее будет нагружать систему:

    первый скрипт >> база >> второй скрипт, все потоки.

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



  • Вообщем запустил два скрипта, первый с пропуском кадров 1 и в 1 поток, второй с пропуском кадров 300 и в 45 потоков. Сильного прироста производительности я не заметил :(

    Хотя больше грешу на обновления винды, появлялось окошко на счёт windows creators update.. А убрать автоматические обновления как то руки не доходят..

    0_1497443302994_forum14.png

    Думаю после тестовых суток, увеличить пропуск кадров до 500-600 у второго скрипта. Плюс убрать всевозможные автоматические обновления..

    Связь между скриптами идёт через базу, время срабатывания 0-1 секунда. Что приятно радует.



  • @Fox said in Живая связь двух скриптов **BAS**:

    Вообщем запустил два скрипта, первый с пропуском кадров 1 и в 1 поток, второй с пропуском кадров 300 и в 45 потоков. Сильного прироста производительности я не заметил :(

    Хотя больше грешу на обновления винды, появлялось окошко на счёт windows creators update.. А убрать автоматические обновления как то руки не доходят..

    0_1497443302994_forum14.png

    Думаю после тестовых суток, увеличить пропуск кадров до 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

    в зенке точно такая же логика читаем список в переменку в переменке парсим
    alt text
    alt text

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



  • @Zenodrot Вот твой скрипт . Отрабатывает за 1 секунду.

    0_1497535869570_forum15.png

    Я всего то убрал ресурсы вообще, прочитал из файла и применил твою регулярку.

    Судя по твоему скриншоту из зенки, ты там как раз так и делал. Читал файл и применял регулярку.



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot Вот твой скрипт . Отрабатывает за 1 секунду.

    0_1497535869570_forum15.png

    Я всего то убрал ресурсы вообще, прочитал из файла и применил твою регулярку.

    ща тестну без ресурсов