@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Можно ли в цикле объявить переменные? [[SAJT_[[CYCLE_INDEX]] ]] = [[LIST_ELEMENT]]
-
@f0cus said in Можно ли в цикле объявить переменные? [[SAJT_[[CYCLE_INDEX]] ]] = [[LIST_ELEMENT]]:
@kuzkuz можно конечно. Главное что бы не получилось при проверке она undefined. Если такое возможно объявлять лучше сразу хоть пустойбас позволяет.
Как это сделать? Вот так не канает
[[SAJT_[[CYCLE_INDEX]] ]] = [[LIST_ELEMENT]] -
@kuzkuz почти так у вас скобки не там
[[SAJT_]][ [[CYCLE_INDEX]] ] = [[LIST_ELEMENT]]пардон исправил вот так
Но названия переменных так вы не сделаете, только их значения. Если вас так интересует пары ключ значение то вам или списки или объекты или json
-
@kuzkuz поясню. Можно было бы через группы выбирать нужные мне записи, но может получаться так что в указанной группе нет свободных и приходится возвращаться к циклу. А так я думал просто укажу какой SAJT_ не брать (набор этих сайт и все). Это не то что я делал позавчера, это другое...
-
@kuzkuz смотрите в массиве или даже строке из массива если строка json вам никто не запрещает добавить пару ключ и значение где значение и будет название вашей SAJT_
а что элементы в массив добавляются только руками?)
потом просто проверка по значениям этих SAJT_ ну и там условие если SAJT_сколькото == тому то то ну или еще как но руками там 10 строк кодаlength =20 VAR_LIST = [] for(i=0;i<length;i++) { VAR_LIST.push(JSON.stringify({"number_salt":"SAJT_"+i})) }Типа такого например
-