Поэтому я использую колбу вместе с Кафкой для создания веб-приложения, которое позволяет пользователям отправлять определенные задания. Я создал несколько потоков, и каждый поток обрабатывает свой собственный запрос. Проблема, с которой я сталкиваюсь, заключается в том, что производитель kafka не отправляет сообщения потребителю. Когда я нажимаю CtRl + C на сервере фляги, только тогда производитель kafka затем отправляет сообщение. Когда я снова нажимаю Ctrl + C, сервер колб останавливается (нужно нажать два раза, чтобы полностью остановиться). Давно почесал голову над этой проблемой. Нужна помощь.
Мой основной метод в app.py выглядит следующим образом, мне нужно запустить поток, как только я запускаю сервер, и несколько фоновых задач с использованием BackgroundScheduler:
if __name__ == "__main__":
notification_thread = threading.Thread(target=minimization_notification,args = ())
notification_thread.start()
scheduler = BackgroundScheduler(daemon=True,job_defaults=job_defaults)
scheduler.add_job(middleware.generate_graphs, 'interval', minutes=10)
scheduler.add_job(middleware.copy_db, 'interval', minutes=5)
scheduler.start()
app.jinja_env.cache = {}
hostip = socket.gethostbyname(socket.gethostname())
app.run(debug=False, port=5000, threaded=True, host=hostip,use_reloader=False)