[Сделано]добавить постепенный запуск потоков



  • @oleg4ever, инициализация не срабатывает потому, что ресурсы уже закончились. Если задержку поставить, то все будет ок. На форуме есть пара тем с рецептами. Есть даже способ по 50 потоков за раз стартовать.



  • Если использовать открытие/закрытие браузера, то скрипт с задержками старта в виде сна (скажем в 300 потоков) будет отображать галочки браузеров по мере их запуска. Здесь явно видно что бас не получает нагрузку от создания 300 потоков в один момент времени.



  • @oleg4ever поиск по форуму поюзай.. первое попавшееся http://community.bablosoft.com/topic/2028/задержка-между-потоками/5


  • administrators

    @oleg4ever В новой версии браузер будет создаваться только по мере необходимости, тоесть достаточно поставить спать в начало работы.

    В будущем будет параметр, который ограничивает количество одновременно запускаемых браузеров.



  • @support как уже писал свежий движек хрома меньше вроде ресурсов ест
    и тоже будит профит если его обновить


  • administrators

    Добавил возможность плавного запуска браузеров.

    Есть возможность ограничить нагрузку по 3 параметрам:

    • Количество одновременно создаваемых браузеров.
    • Минимальное количество памяти в системе.
    • Максимальная нагрузка на процессор.

    Все это касается только запуска браузера.

    0_1513563774338_SmoothStartSettings.png

    При отсутствии необходимых ресурсов, БАС выдает такое сообщение:

    0_1513563823706_SmoothStartErrorReport.png

    Это сделано для того, чтобы не было видимости зависания.

    А вот так выглядит плавный запуск(пачками по 10).

    0_1513563899662_SmoothStart.gif



  • @support, отлично, удобства добавляются! Спасибо! Может в этой новой версии ещё и лог раздельный по потокам реализуете?)



  • Вотето админ дает ) На моих глазах БАС превращается в что-то оооччченнь крутое (он и так уже давно крут, но такими плюшками вообще нет слов)! Видно, что админ прислушивается к пользователям, делает так, чтобы им было просто и продуктивно работать.


  • administrators

    @out Рад вас снова видеть на форуме)


  • administrators

    @Antonio Думаю да, но чуть позже. Скоро интерфейс скомпилированных ботов можно будет сделать на хтмл + js с визуальным конструктором, и там можно будет изменить стандартное поведение лога просто обработав событие "log" на js. Но это только для скомпилированных.



  • @support

    "Количество одновременно создаваемых браузеров" это же команда действует только в Потоке ? не в Скрипте ?

    Как реализовать, если в Скрипте 100 Потоков, а ПК тянет Одновременно только 10 Браузеров ???

    (постепенный Запуск Потоков "один за одним" не поможет. т.к Потоки Рандомно Перезапускаются по команде "Fail" )


  • administrators

    @vserodcom said in [Сделано]добавить постепенный запуск потоков:

    @support

    "Количество одновременно создаваемых браузеров" это же команда действует только в Потоке ? не в Скрипте ?

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

    Как реализовать, если в Скрипте 100 Потоков, а ПК тянет Одновременно только 10 Браузеров ???

    (постепенный Запуск Потоков "один за одним" не поможет. т.к Потоки Рандомно Перезапускаются по команде "Fail" )

    Самый простой вариант - запускать скрипт в 10 потоков. Можно ещё облегчать работу в браузере.
    Если у вас скрипт работает вне браузера, то можно контролировать количество одновременно запущенных браузеров через глобальную переменную.



  • @fox
    Подскажите плиз, какой командой можно контролировать "количество одновременно Запущенных браузеров" ??


  • administrators

    @vserodcom said in [Сделано]добавить постепенный запуск потоков:

    @fox
    Подскажите плиз, какой командой можно контролировать "количество одновременно Запущенных браузеров" ??

    Команды ни какой нет. Всё делается логикой. Перед использованием браузера ставите условие, если глобальная переменная меньше 10, то запустить браузер и увеличить глобальную переменную на 1, если нет, то спать и в цикле проверять изменилась ли переменная. А когда поток завершит работу с браузером, то уменьшить цифру в глобальной переменной на 1.