所以我使用flask和kafka来创建一个web应用程序,允许用户提交某些作业。我创建了多个线程,每个线程处理自己的请求。我面临的问题是kafka生产者没有向消费者发送消息。当我在flask服务器上按CtRl+C时,只有kafka producer才会发送消息。当我再次按Ctrl+C时,flask服务器停止(需要按两次才能完全停止)。我为这个问题绞尽脑汁很久了。需要帮助
我在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)
目前没有回答
相关问题 更多 >
编程相关推荐