@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Глобальные переменные в шаблонах
-
Почему в шаблонах нельзя использовать глобальные переменные?
При попытке это сделать будет такая ошибка:
SyntaxError: Parse error во время выполнения действия ***********
Приходится постоянно конвертировать глобальные переменные в не глобальные для шаблонов и из-за этого устраивает срач в списке переменных. -
@PanLipton said in Глобальные переменные в шаблонах:
Почему в шаблонах нельзя использовать глобальные переменные?
При попытке это сделать будет такая ошибка:
SyntaxError: Parse error во время выполнения действия ***********
Приходится постоянно конвертировать глобальные переменные в не глобальные для шаблонов и из-за этого устраивает срач в списке переменных.В каких ещё шаблонах?
-
Такая же проблемма
При выполнение действия ШаблонХочу собрать из глобальных переменных единый отчет .
SyntaxError: Parse error во время выполнения действия ***********
получаю вот такую ошибку ..Если вначалае шаблона идет перменна а потом текст то вроде как ок .
Но если сначала текст а потом глобальная переменная .
То срыаеться на такую ошибку . -
@clarabellerising
Проблемма в том что у меня порядка 40 глобальных переменных
И сделать одну локальную я хочу через действие Шаблон . А не заниматься мазахизмом. -
вот у меня кусочек шаблона
Глобальные проблемы - [[GLOBAL:DATA_ZABB_GLOBAL_PROBLEM]]
Состояните основных серверов :
Бекенд
[[GLOBAL:DATA_ZABB_BACKEND]]Фронтенд
[[GLOBAL:DATA_ZABB_FRONTEND]]как это можно через выполнить код записать в [[RESULT]]
Буду очень признателен .
-
И почему шаблон не хочет рабоать корректно ? Может кто то знает причину ? )
Потому что если добавить в шаблон . Только вот это [[GLOBAL:DATA_ZABB_GLOBAL_PROBLEM]]
то все как бы работает .
Глобальные проблемы - [[GLOBAL:DATA_ZABB_GLOBAL_PROBLEM]] а вот так уже ошибка .
Хочется смысл проблемы понимать тоже . -
@https я же дал пример
[[RESULT]] = JSON.parse(P("basglobal", "DATA_ZABB_GLOBAL_PROBLEM") || '""') [[RESULT]] = JSON.parse(P("basglobal", "DATA_ZABB_BACKEND") || '""') [[RESULT]] = JSON.parse(P("basglobal", "DATA_ZABB_FRONTEND") || '""') -
@PanLipton
dc714eb1-8a40-4365-8e9c-e47fc4202d3f-template_globals_vars.xml
так работает) над поправить логику _template, та использует старую логику обработки переменных, хотя в BAS есть новая логика, которая поддерживает глобальные переменные. почему не обновили - хз.
просто скопировал и сам вызвал вручную.