@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Троян в FastExecutionScript
-
Проблема в том, что BAS довольно палевно выгружает файлы на диск (мне так кажется) и антивирусы думают, что это обычный троян, который хочет заразить компьютер
-
Продублирую здесь официальный ответ @support'a
Антивирус может ругаться на приложение защищенное протектором, потому что часть кода выполняется в виртуальной машине и антивирус не может понять что там происходит, это очень упрощенно. Чтобы избежать этого, разработчику скрипта нужно получить сертификат для подписи исполняемого файла и библиотек. Это можно сделать например здесь https://www.gogetssl.com/code-signing-certificates/ При получении сертификата нужно предоставлять нотариально заверенные данные о себе, если речь идет об индивидуальном разработчике, или о своей компании. Я все это сделал для BAS, поскольку уверен, что в нем нет вредоносного кода, но о скриптах пользователей я такого сказать не могу, поэтому BAS подписан, а компилируемое приложение - нет. К подписанным исполняемым файлам антивирусы относятся намного лояльней, но это тоже не дает 100% гарантии от ложно-позитивных срабатываний, например, smartscreen больше ориентируется на "репутацию" файла. Вот еще примеры: FastExecuteScript.exe без протектора(0/70) https://www.virustotal.com/gui/file/4174f16d67a59e972373a01817f96263090a73fd6f9a2d5325c9c1d52bcef216/detection
FastExecuteScript.exe c протектором (11/70) https://www.virustotal.com/gui/file/23a7d8a95c2f26f90e17a5eee5e2dfcc67e32e968e54ba9601d77afcd3759af4/detection
FastExecuteScript.exe c протектором и подписанный (3/70) https://www.virustotal.com/gui/file/341795d6be659d4d6471448877c675ca8b49f555fa6983431a25bc20e22325cb/detection
При этом придется подписывать FastExecuteScript.exe и Engine.dll(именно они защищены протектором) каждый раз и передавать пользователю или поднять свой сервер и заливать уже подписанные файлы туда(это изменяется в конфиге, я скажу как если будет надобность). Еще один вариант попроще - сделать версию без протектора, но тогда взломать скрипт будет гораздо проще. Также я отправил данные файлы в касперский(аваст на последнюю версию не ругается), чтобы они добавили их в исключения, но по опыту могу сказать, что на данный метод надеяться не стоит. Обычно это заканчивается тем, что нужно воевать за каждый билд и в конечном счете там просто перестают отвечать.
В касперском ответили, что добавили 21.7.1 в исключения.
-
@fox, после ошибки с вирусом при новом запуске скомпилированного шаблона все настройки сбрасываются. Настройки работы шаблона где-нибудь сохраняются автоматически, чтобы можно было как xml подгрузить? Не нашел
-
@agility said in Троян в FastExecutionScript:
@fox, после ошибки с вирусом при новом запуске скомпилированного шаблона все настройки сбрасываются. Настройки работы шаблона где-нибудь сохраняются автоматически, чтобы можно было как xml подгрузить? Не нашел
Все настройки ресурсов хранятся в файле actual.xml
