Добрый вечер, столкнулся с такой проблемой, у меня имеется чат-бот работает с помощью команды multiprocessing. запускается так:
def run_listen_event(q):
while True:
pass # тут исполняемый код который прослушивает сервер на события
def worker(q):
while True:
pass # тут исполняемый код который отправляет сообщения
# Запускаю так
event_list = Process(target=run_listen_event, args=(q, ))
event_list.start()
for _ in range(4):
t = Process(target=worker, args=(q, ))
t.start()
Получается я понимаю что запускаю 5 процессов, но при перезагрузки кода с помощью supervisorctl restart bot процессы не убиваются, а плодятся и из-за этого сервер отвечает на одно сообщение несколько раз.
Как сделать правильное убивание процессов? Чтобы я мог его перезапускать с помощью supervisor, а не рестартить сервер.