@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
ошибка в планировщике при запуске задачи
-
запускаю скрипт через планировщик задач, тут же останавливается с ошибкой:
IsEnginesInAppData false
KeepVersionNumber 100
InstallerVersion 3.0
IsValid true IsX64 true IsSilent true IsRemote false ScriptName "39f70452" Server "" Username "" PasswordLength 0
ScriptHash "6f23e8fc" EngineVersion "26.5.1"
AppPath "appslocal/39f70452/SID6f23e8fc/engine/FastExecuteScript.exe" "appslocal/39f70452/SID6f23e8fc/engine/"
EnginePath "engines/26.5.1/engine.zip"
EnginePrepared
Exitв записи или при ручном запуске в многопоточном режиме все норм. буду рад любой помощи в решении проблемы
проект прикладываюzoy2_wb_budget1.3_without_api.xml -
Не удается повторить вашу проблему, возможно есть ещё какие-то нюансы запуска? С какими настройками в планировщике вы пытаетесь запустить проект? Пробовали переустанавливать планировщик? Устанавливать его в другую папку? Возможно, стоит попробовать переустановить и планировщик и BAS.
-
Проект создан в версии BAS 30.1.0, после обновления BAS до версии 30.2.0 внесены изменения в даный проект. После, в планировщике, при попытке обновить проект появилась ошибка:
ConnectivityManager initialize with config Config is empty ConnectivityManager additional requests not required IsEnginesInAppData false KeepVersionNumber 100 InstallerVersion 3.0 IsValid true IsX64 true IsSilent false IsRemote false ScriptName "b7abd60c" Server "" Username "" PasswordLength 0 ScriptHash "43b634fa" EngineVersion "30.2.0" AppPath "appslocal/b7abd60c/SID43b634fa/engine/FastExecuteScript.exe" "appslocal/b7abd60c/SID43b634fa/engine/" EnginePath "engines/30.2.0/engine.zip" EnginePreparedПапка "b7abd60c" по указанному пути не создаеться. Антивирус проверен, не блокирует.
Метод описанный автором поста @acromion так-же сработал, в коде проекта<EngineVersion>30.2.0</EngineVersion> заменил на <EngineVersion>30.1.0</EngineVersion>При этом, последняя версия браузера в проекте 36 "148.0.7778.97", а не 37 "149.0.7827.54" как в BAS 30.2.0. Хотелось бы понять причину и как это исправить?