@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Комбобокс в JS форме.
-
Здравствуйте.
Возникла проблема следующего характера.
Комбобокс в форме работает, но не понятно как. Функция "Установить значение Комбобокса" отрабатывает не корректно. А именно:
-
стоит задача автоматизировать добавления языков. Для этого из всплывающей формы необходимо выбрать один из языков

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

И вот тут возникает непонятка. "Установить значение Комбобокса" используемое мной и ранее, работавшее как положено, выдает не верный результат. В качестве теста значение я указываю "Венгерский" (без кавычек разумеется). Отрабатывает блок, а в результате устанавливается значение на "Корейский".
Может быть возможно каким-то образом выбрать элемент напрямую из кода страницы?

Функция "Установить индекс Комбобокса" работает корректно, но ее использование в форме не будет рациональным, так как при выборе значения из формы это значение в дальнейшем скрывается от пользователя, а значит и привязать каждое значение комбобокса к своему id не получится.
Может будут какие-то соображения как решить данную проблему? Буду Вам очень признателен за ответы по сути.
-
-
This post is deleted!
-
@Artifexter если нет ошибки и выбор идет по значению а не по индексу, даже в этом случае, если при итальянском всегда финский, а эстонский - турецкий, учитывая что языков не так много можно для каждого венгерского найти свой румынский, перемапить и пользоватся. т.е. если нужен финский выбирать итальянский и т.д.
а у меня в комбобоксах выбрать случайное значение не работало
-
@ruzne Идея с соответствие провальна. Первая итерация, добавление первого языка, причем любого - происходит как положена. Сказал выбрать "Польский" его и выбрало, попробовал "Корейский" - выбрало "Корейский". Все чудесно, работает. Добавил язык.
Вторая итерация все ломается. Например, порядковый номер языка "Иврит" - 8. Если при первом прогоне выбрать его, при втором прогоне указать "Испанский" под порядковым номером 9 - все ломается и выбирает что угодно, но не "Испанский". Но если указать "Греческий" 7, то все работает как надо. И с любым языком чей порядковый номер выше первого, то есть "Иврит".
В общем проблема в том, что выбранный уже ранее язык скрывается из списка, а далее корректная работа прекращается. Может есть какой-то способ учитывать скрытые элементы при работе блока программы? -
@Artifexter Странное поведение комбобокса, скиньте ссылку. Установить комбобокс по значению перебирает все варианты по очереди, и при соответствии текста - выбирает.
Я бы всё таки посмотрел какой запрос уходит после отправки поста и работал бы на запросах, в разы быстрее, и порою даже проще.
Нажмите захват запросов

а потом отправите форму. -
@Artifexter
если работает выбрать случайное значение, то
выбрать случайное значение, получить текст, если выбрано не то что нужно повторять пока переботом не будет венгерский)))ну по крайней это сто рабочий вариант
-
@ruzne Случайное значение может повторятся, нужный вариант в итоге будет очень долго выбираться. Да! Очень важный момент, значение комбобокса чувствительны к регистру. Попробуйте из кода элемента взять текст и использовать именно его.
-
@Artifexter правмльно лм я понимаю, что на момент второго выбора в комбобоксе выбран предыдущий елемент, тоесть стоит дефолтным?
Если так, то просто установите индекс комбобокса в 0, потом выбирайте нужный -
Благодарю всех за идеи, но...
Перебор не помогает, так как блок "Получить Текст" выполняемый на строке комбобокса выдает строку:
"Выберите языкАнглийскийАрабскийБолгарскийВенгерскийВьетнамскийГолландскийГреческийИвритИспанскийИтальянскийКитайскийКорейскийНемецкийНорвежскийПерсидский (фарси)ПольскийПортугальскийРумынскийТурецкийУкраинскийФинскийФранцузскийЧешскийШведскийЯпонский"
Какой бы из языков не был выбран, я получаю строку с перечислением всех языков, и как Вы понимаете, нет возможности как-то сравнить или сопоставить выбор.
Момент, что чувствителен к регистру - учел. Да и если с этим что не так, то выбирается по умолчанию самый крайний язык.
Через >MACTH> не помогло.
А вот с захватом HTTP запросов разбираюсь...Возник такой вопрос, можно ли автоматизировать изменение кода страницы по ходу выполнения скрипта? Поясню. Если убрать стили элементов скрывающие уже выбранные языки при отработке блока установки комбобокса по значению - все работает отлично. Речь идет о -

Конечно в ручном режиме я могу зайти и убрать не нужные стили, но вот как сделать, что бы сам скрипт убирал лишнее до выбора языка? -
@Artifexter можно есть вариант удалить с помощью js и есть функция в bas установить значение атрибута и указать пустое значение атрибута style
-
elems = document.querySelectorAll('option[style="display: none;"]'); for (var i = 0; i < elems.length; i++){ elems[i].style.display = ""; }
