@sergerdn
понял,
надо было запускать 10 потоков, открывать 10 портов на прокси сервисе, и каждому потоку присвоить свой порт для дальнейшей работы в цикле
ну мы решили вопрос через глобальные списки вроде, получилось
Случайно обнаружил один момент, сильно похожий на баг
Создаём скрипт, создаём функцию OnApplicationStart, в ней для отчётности выводим в лог текст "OnApplicationStart" и ставим бесконечный сон на 999999999мс.

Далее в main создаём бесконечный цикл while true, в нём так же создаём лог для отчётности с текстом "Main", за ним так же бесконечный сон на 999999999мс. И в последнюю очередь в выполнить код объявляем любую бесполезную функцию:
function sayhello(){
log("hello")
}

Если скрипт запустить в режиме Записи, то он выведет в лог "OnApplicationStart" и уснёт. Всё логично.
Но вот если запустить скрипт в режиме Запуска, то в логе мы увидим сразу "Main", ни какого "OnApplicationStart" не будет.
Почему так происходит?
Если выполнить код с бесполезной функцией вывести из бесконечного цикла, то всё работает правильно, как и в режиме Записи. Казалось бы, виноват бесконечный цикл, но если заменить бесконечный цикл на for от 1 до 1, или на if true, то ситуация не изменяется.
Вот тестовые скрипты
test с for 1 до 1
test с while true
test с if true
Решил сейчас записать гифку и обнаружил совсем уж интересный момент:

Скрипт сперва выполнил действия в Main, а потом начал выполнять OnApplicationStart.
Название функции OnApplicationStart я брал копипастом из меню, так что неправильное имя отпадает. Плюс я ни где в Main не вызывал функцию OnApplicationStart.
Веселье продолжается, если запустить скрипт в 5 потоков, то сперва 5 потоков выполнят Main, а потом первый поток начнёт выполнять OnApplicationStart

Вот скрипт test в 5 потоков
Ну и напоследок, если сон в OnApplicationStart и в Main сделать 5 секунд и запустить в 5 потоков..
То сперва 5 потоков выполнят Main, затем первый поток выполнит OnApplicationStart, потом первый же поток снова выполнит Main и после этого скрипт сообщит о благополучном завершении

При том что так:

Работает правильно,
а вот так:

уже нет
И да, если объявить функцию в начале работы потока, а в if условии её просто вызывать:

то всё будет работать правильно.
@fox Почему-то вызов функция OnApplicationStart _call(_on_start, null)! оказался в конце скрипта. Причем если первый действием в скрипте поставить какой-нибудь экшен или из выполнить код убрать функцию, то все будет работать. Более того, если поправить код вручную, то он будет работать. Видимо конструктор где-то блудит. Вот рабочая версия, только если в режиме записи, что-то изменишь, то он снова сломается :D 0_1532146183987_1532119273913-test-в-5-потоков.xml
@fox Да, такое возможно, если в действии есть объявление именованой функции.
Но баг не критичный, так как обычно можно обойтись без объявления функции в цикле.
Костыль 1. Вынести все объявления функций в начало скрипта.
Костыль 2. Заменить
function sayhello(){
log("hello")
}
на
sayhello = function(){
log("hello")
}
К следующей версии что-то придумаю. Но вообще код лучше подправить, объявлять фуункцию в цикле - лишний раз напрягать сборщик мусора.