Привет. Посаветуйте пожалуйста как сделать)))
Смотрите у меня есть база в которой хранятся аккаунты. В базе у каждого аккаунта есть поле inwork которое имеет значение 1/0, работает/не работает. При запуске скрипта он забирает из базы все аккаунты у которых inwork = 1 и запускает каждый аккаунт в отдельном потоке ( на скрине я покажу эту функцию). И когда я допустим добавляю ещё аккаунт в базу со значением inwork=1, то для того чтоб он запустился мне нужно скрипт перезапустить и точно также если хочу остановить какой-то аккаунт.
Подскажите пожалуйста каким способом можно сделать чтобы скрипт во время работы собирал из базы информацию о работающих аккаунтах и в случаи если где-то менялся inwork то этот поток который работает с этим аккаунтом останавливался или наоборот запускался новый поток когда inwork=1.
Я думаю что должно быть примерно так: Основной поток каждые секунд 30 проходит по базе и в случаи изменения или запускает поток новый или убивает старый, только вот как добиться такой работы с потоками не пойму)))
Направте пожалуйста в нужное русло.
def start():
logging.debug('Meтод start')
accounts = getAcountInWork()
logging.info('Количество аккаунтов в работе {}'.format(len(accounts)))
with ThreadPoolExecutor(max_workers=len(accounts)) as execute:
execute.map(nonStop, accounts)