@sergerdn уже разобрался, сделал так
ресурс2(ресурс из файла)
(onApplicationStart)
создаю ресурс1(галочка на ожидать появления)
(Main)
асинхронная функция(SCRIPT_RESULT)
количество элементов ресурс1
while - ресурс1 > 0 || ресурс2 > 0
парс строки из ресурс1
удаляю текущий элемент из ресурс1
записываю в файл(либо в список, чтобы потом по завершению скрипта сохранить результаты)
количество элементов ресурс1
количество элементов ресурс2
(MAIN)
функция в несколько потоков(_SCRIPT_FULL)
if - ресурс2 > 0
вызываю основную функцию скрипта(_MAIN_SCRIPT), где нужные мне данные результатов записываю в ресурс1
else
прерываю все потоки
(MAIN)
обрабатываю остановку скрипта
как я опробовал, это самый лучший вариант из 5 разных
Могу позже скинуть xml файлом