проще всего сделать отдельный модуль,
будет функция типа
execCmd(thread: number, taskId: number): Promise<any>
и будет скачивать content = get(http://localhost/<thread>/<id>)
потом
let error: any
let result: any
try {
eval(content)
} catch (error_) {
error = error_
}
POST_RESULT(http://localhost/<thread>/<id>, {error, result})
то есть передаем только два числа и получаем результат