@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Будет ли в кубиках Базы такой функционал или идти мучать node js ?
-
Привет.
Нужно отфильтровать колонка "равно пустое или содержит asdfg". (содержит asdfg бывает разное в зависимости от предыдущих установок. т.е. навсегда строку не пометить как неподходящую)Сейчас решение сделано так.
Строки получаем без этого фильтра. Парсим и в цикле проверяем значение из колонки. Если не подходит - следующая строка.Но решение такое себе. Когда строк станет дохрена подозреваю могут начаться сложности.
ждать от БАС в базе такое решение или идти мучать себя и Node.js ?Node напрямую с локальной базой - -не подкинете мануал понятный для новичков? спасибо
-
@kuzkuz said in Будет ли в кубиках Базы такой функционал или идти мучать node js ?:
Привет.
Нужно отфильтровать колонка "равно пустое или содержит asdfg". (содержит asdfg бывает разное в зависимости от предыдущих установок. т.е. навсегда строку не пометить как неподходящую)Сейчас решение сделано так.
Строки получаем без этого фильтра. Парсим и в цикле проверяем значение из колонки. Если не подходит - следующая строка.Но решение такое себе. Когда строк станет дохрена подозреваю могут начаться сложности.
ждать от БАС в базе такое решение или идти мучать себя и Node.js ?Node напрямую с локальной базой - -не подкинете мануал понятный для новичков? спасибо
[[RECORD_LIST]] = _db_select_records( [ [ 2,"StringContains",[[FILTER]] ] ], 1,1000,1,"no sorting","",2) -
не понял. @Fox поясните, пожалуйста, куда что?
вижу так берет строки с базы с вхождением sdg. но чтобы подстроить под себя мне этих знаний явно мало (
[[RECORD_LIST]] = _db_select_records( [ [ 2,"StringContains","sdg" ] ], 1,1000,1,"no sorting","",2)вижу что цифра перед StringContains это как будто номер колонки, но почему она в таблице первая а значение в фильтре "2" , а не 0
Во. Нашел такой пост https://community.bablosoft.com/topic/4447/база-и-последовательность/7
А как быть если в колонке число ?
и как указать таблицу? если их в базе несколько -
@kuzkuz said in Будет ли в кубиках Базы такой функционал или идти мучать node js ?:
не понял. @Fox поясните, пожалуйста, куда что?
вижу так берет строки с базы с вхождением sdg. но чтобы подстроить под себя мне этих знаний явно мало (
[[RECORD_LIST]] = _db_select_records( [ [ 2,"StringContains","sdg" ] ], 1,1000,1,"no sorting","",2)вижу что цифра перед StringContains это как будто номер колонки, но почему она в таблице первая а значение в фильтре "2" , а не 0
Во. Нашел такой пост https://community.bablosoft.com/topic/4447/база-и-последовательность/7
А как быть если в колонке число ?
и как указать таблицу? если их в базе несколькоСоздайте действие "Получить Записи По Критерию" заполните поля как вам необходимо, вместе с поиском по фильтру. Затем по id найдите код этого действия и замените строку фильтра на переменную, которую будете использовать
-
Создайте действие "Получить Записи По Критерию" заполните поля как вам необходимо, вместе с поиском по фильтру. Затем по id найдите код этого действия и замените строку фильтра на переменную, которую будете использовать
Круто. Про найти понятно.
section_start("", 705534978)! VAR_RECORD_LIST = _db_select_records( [ [ 2,"StringEquals","asdfg" ] ], 1,1000,1,"no sorting","",2) section_end()!Отбор одновременно чтобы поле "равно пустое или содержит asdfg".
section_start("", 705534978)! VAR_RECORD_LIST22 = _db_select_records( [ [ 2,"StringEquals","" ] ], 1,1000,1,"no sorting","",2) section_end()!и потом их соеденить? идея такая?
если нет то не понимаю, ведь переменную я могу и прямо в кубике указать. проблема объеденить отбор по одному и тому же полю. -
@kuzkuz said in Будет ли в кубиках Базы такой функционал или идти мучать node js ?:
VAR_RECORD_LIST = _db_select_records( [ [ 2,"StringEquals","asdfg" ] ], 1,1000,1,"no sorting","",2)
@Fox Вы чудо!
получилось))
однако я уже настроился на Node.js - вот теперь не знаю, а надо ли?ps в массив1 отобрал строки с "asdfg". в массив2 отобрал строки где пустое значение.
и объеденил. Без Node. В кубике выполнить код.
ps странно что нигде не указывается идентификатор таблицыps3 вот сейчас я понял, что можно было сделать также 2мя кубиками. и потом объединить результаты. А я прилип на то что хотел все сделать одним действием (кубиком).