Revision 9c6c3d69 kamaki/clients/__init__.py

b/kamaki/clients/__init__.py
107 107

  
108 108

  
109 109
class Client(object):
110
    MAX_THREADS = 7
111 110

  
112 111
    def __init__(self, base_url, token, http_client=KamakiHTTPConnection()):
113 112
        self.base_url = base_url
......
118 117
            '%A, %d-%b-%y %H:%M:%S GMT',
119 118
            '%a, %d %b %Y %H:%M:%S GMT']
120 119
        self.http_client = http_client
120
        self.MAX_THREADS = 7
121 121

  
122 122
    def _init_thread_limit(self, limit=1):
123
        assert isinstance(limit, int) and limit > 0, 'Thread limit not a +int'
123 124
        self._thread_limit = limit
124 125
        self._elapsed_old = 0.0
125 126
        self._elapsed_new = 0.0
126 127

  
127 128
    def _watch_thread_limit(self, threadlist):
129
        self._thread_limit = getattr(self, '_thread_limit', 1)
130
        self._elapsed_new = getattr(self, '_elapsed_new', 0.0)
131
        self._elapsed_old = getattr(self, '_elapsed_old', 0.0)
128 132
        recvlog.debug('# running threads: %s' % len(threadlist))
129
        if (self._elapsed_old > self._elapsed_new) and (
133
        if self._elapsed_old and self._elapsed_old >= self._elapsed_new and (
130 134
                self._thread_limit < self.MAX_THREADS):
131 135
            self._thread_limit += 1
132
        elif self._elapsed_old < self._elapsed_new and self._thread_limit > 1:
136
        elif self._elapsed_old <= self._elapsed_new and self._thread_limit > 1:
133 137
            self._thread_limit -= 1
134 138

  
135 139
        self._elapsed_old = self._elapsed_new

Also available in: Unified diff