码迷,mamicode.com
首页 > 编程语言 > 详细

python 装饰方法

时间:2019-02-18 16:09:13      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:increase   wrap   app   attr   pytho   index   att   append   fun   

    def _concurrent(func):
        @wraps(func) # 加入这个的目的是保持原来方法的属性
        def arg_wrapper(self, *args, **kwargs):
            try:
                jc = self.available_jc.pop()
                # return f is function
                f = getattr(jc, func.__name__)
                r = f(*args, **kwargs)
                self.available_jc.append(jc)
                return r
            except IndexError:
                raise RuntimeError(Too many concurrent connections!
                                   Try to increase the value of "max_concurrency", 
                                   currently =%d % self.max_concurrency)

        return arg_wrapper

 

    @_concurrent
    def subjective_judge(self, **kwargs):
        pass

 

 

    @property
    @_concurrent
    def server_status(self):
        pass

 

python 装饰方法

标签:increase   wrap   app   attr   pytho   index   att   append   fun   

原文地址:https://www.cnblogs.com/callyblog/p/10396022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!