@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Маленькое окно браузера в режиме запуска
-
@gurkin4 said in Маленькое окно браузера в режиме запуска:
Разрешение экрана надо ставить после применения отпечатков.
Лично у меня прекрасно работает в любой версии BAS.Конечно, я так и делал. Применял разрешение в самую последнюю очередь, даже после установки прокси.
У тебя всё прекрасно работает, когда подключаешься к серверу по RDP? Потому что проблема вылезает только в этом случае и с некоторыми профилями, чьи браузеры находятся в данный момент в работе.
Неважно открываешь ли ты браузер при этом или нет. Как только подключился - сразу размер экрана на некоторых мобилках начинает лажать (я в лог для проверки вывожу document.documentElement.clientWidth и document.documentElement.clientHeight)
Если работаешь на локальной машине - всё отлично эмулируется, проблема отсутствует. -
@Михаил96 said in Маленькое окно браузера в режиме запуска:
Не наблюдаю таких проблем при переподключении по RDP, эмуляция масштаба включена, размер окна браузера соответствует параметрам из отпечатка. Версия BAS 27.2.0
Как я писал выше, это наблюдается не на всех профилях. Но, скажем, при подключении (при повторном подключении) к серверу по RDP из 10 потоков 2 точно начнут лажать с уменьшенной высотой экрана. Как-то так:

-
Вообще проблема касается не только мобильных профилей с десктопом тоже самое. Причем меняется оно само собой в процессе работы даже без отключения от RDP. На скрине выделено момент переподключения к RDP но и до этого момента видим из лога ситуация происходит. Скрипт работал в 4 потока в 13:30 прошло переподключение и у всех 4х потоков полетело разрешение.

-
@intelres Проблема в том, что rdp, по крайней мере официальный клиент, меняет масштаб на сервере так, чтобы он соответствовал клиенту при наличии подключения и меняет обратно на оригинальный при его отсутствии.
Хром отслеживает изменения dpi, и размер браузера меняется соответственно.
Вы можете проверить это самостоятельно выводя в лог разрешение через каждые пару секунд.
Соответственно решений может быть несколько:
- Оставлять сессию всегда включенной или всегда выключенной.
- Поменять масштаб у себя на пк на тот, который на сервере, обычно это 100%.
- Как то настроить клиент так, чтобы он не менял масштаб на сервере.
Это не глюк, всё работает исправно. Используй анидеск, но вроде на серваках без видяхи и монитора(либо эмулятора он будет не оч).
-
Anydesk я пробовал установить на сервак, но там разрешение какое-то маленькое экрана, вообще очень сложно работать с БАСом.
Вспомнил ещё один момент по этой проблеме - проблема началась тогда, когда в движке БАСа появилась возможность выбора разных версий Хромиума.
После этого высоты экранов мобильных устройств стали "схлопываться" при подключении по RDP. -
@FastSpace said in Маленькое окно браузера в режиме запуска:
потому что монитора нет, я заглушки покупал для этого (эмулятор монитора), тогда всё зпс.
Не знал, что такое бывает. Спасибо.
-
@FastSpace Эмулятор монитора я воткнул в видяху, но проблема от этого не исчезла. При переподключении по RDP по-прежнему экраны "схлопываются" на мобилах.
В диспетчере устройств - монитор появился, заглушка, вроде, работает ....
Может заклинание какое нужно ещё прочесть?)

