如何将ActiveMQ与Flask应用程序集成?

时间:2019-08-08 06:57:56

标签: python flask activemq

我希望我的Flask应用程序具有几个ActiveMQ侦听器。我正在使用stomp.py收听事件。这两个组件都可以独立运行,集成后我无法接收消息

from flask import Flask
import stomp
import time


class EventManager(stomp.Connection):
    def on_message(self, header, body):
        print('Hello', header, body)


event_name = 'anything'
queue_name = '/queue/ml_notification'


def listen_to_event():
    connection = stomp.Connection()
    connection.set_listener(name=event_name, lstnr=EventManager())
    connection.connect('admin', 'admin', wait=True)
    connection.subscribe(destination=queue_name, id=event_name, ack='auto')
    return None


def create_app(config_name=None):
    app = Flask(__name__)
    listen_to_event()
    return app

我的观察是-由于范围,侦听器在接收器线程上工作。队列的订阅被终止,并且为了使回调侦听器,我可能希望在单独的线程中生成订阅。

我认为这是一个普遍要求,必须有一个标准解决方案,该解决方案消除了最终开发人员显式创建线程的需要。应该存在stomp_plugin(flask_app, stomp_config)之类的东西。

0 个答案:

没有答案