我正在为Producer
创建一个类,该类将消息推送到RabbitMQ
。它使用pika
module
。我想创建一个处理程序,以便可以控制与Rabbit MQ交互的连接数。
是否有一种方法可以将其添加到app_context
中,然后再引用它,或者有一种方法可以使用init_app
来定义此处理程序。
任何代码段都将提供非常好的帮助。
在Python中,大多数情况下不需要使用单例模式。但是您仍然可以使用它。
class Singleton(object):
_instance = None
def __init__(self):
raise Error('call instance()')
@classmethod
def instance(cls):
if cls._instance is None:
cls._instance = cls.__new__(cls)
# more init operation here
return cls._instance
要单独使用Flask(或任何其他Web框架)应用程序,只需尝试这样。
class AppContext(object):
_app = None
def __init__(self):
raise Error('call instance()')
@classmethod
def app(cls):
if cls._app is None:
cls._app = Flask(__name__)
# more init opration here
return cls._app
app = AppContext.app() # can be called as many times as you want
或继承Flask
类并使其成为单例。