Нашел решение не совсем конечно то что мне нужно было но хоть что то.
Вообщем опишу может кому пригодится
В действие OnApplicationStart
создаем глобальную переменую массив в nodejs
global.threads = new Array();
И далее в каждом потоке
//меняем статус у тех аккаунтов которые работали ранее
//и могли быть не правильно остановлены
let thread_index = [[THREAD_INDEX]];
if(global.threads[thread_index]){
let old_account_id = global.threads[thread_index];
query = "UPDATE account SET status='stop' WHERE id = ?";
await global.adbtc.execute(query, [old_account_id])
.then(result =>{
result[0];
})
.catch(function(err) {
console.log(err.message);
}
);
}
global.threads[thread_index] = [[ACCOUNT_ID]];
Суть этого всего такая
В глобальный массив threads сохраняется номер ACCOUNT_ID который сейчас в работе, а потом при его следующем старте в базе меняем его статус на stop
В принципе все работает.
Но если я жму оставить то следующий поток не запускается и мне все равно приходится после каждой остановки в базе делать руками
UPDATE `account` SET `status`= 'stop'
Но ни чего лучше я пока не придумал.