Var*_*rad 2 python rabbitmq flask
我正在创建一个类,用于Producer将消息推送到RabbitMQ. 它利用pika module. 我想创建一个处理程序,以便我可以控制与 Rabbit MQ 交互的连接数量。
有没有一种方法可以将其添加到其中app_context并稍后引用它,或者有没有一种方法可以用来init_app定义此处理程序。
任何代码片段都会有很大的帮助。
在Python中,大多数情况下不需要使用单例模式,因为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
Run Code Online (Sandbox Code Playgroud)
要将 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
Run Code Online (Sandbox Code Playgroud)
或者继承Flask类并将其自身设置为单例。
| 归档时间: |
|
| 查看次数: |
7166 次 |
| 最近记录: |