美文网首页
utils.py——get

utils.py——get

作者: 归侠与客 | 来源:发表于2019-04-26 10:14 被阅读0次
class Get(object):
    """
    Lazy value calculate for object
    对象的延迟值计算
    """

    def __init__(self, getter):
        self.getter = getter

    def __get__(self, instance, owner):
        return self.getter()

kwargs[name] = utils.Get(lambda name=name: connect_message_queue(name, kwargs.get('message_queue'), kwargs['queue_maxsize']))

param = utils.Get(connect_message_queue(name, k1, k2))
connect_message_queue(): 返回Queue
utils.Get()的作用是,在具体用到param时才去执行connect_message_queue()里实现的那部分代码

kwargs[name] = utils.Get(lambda name=name: connect_message_queue(
                name, kwargs.get('message_queue'), kwargs['queue_maxsize']))

ctx.obj = utils.ObjectDict(ctx.obj or {})
ctx.obj['instances'] = []
ctx.obj.update(kwargs)

g = ctx.obj
name = 'status_queue'
app.config['queues'][name] = getattr(g, name, None)

=>  ctx.obj['status_queue']  # 在这一部分才执行connect_message_queue()里面实现的部分

相关文章

网友评论

      本文标题:utils.py——get

      本文链接:https://www.haomeiwen.com/subject/bmbxnqtx.html