import zlib
import fcntl
import time
+import threading
from apiclient import errors
from apiclient.discovery import build
class KeepClient:
def __init__(self):
+ self.lock = threading.Lock()
self.service_roots = None
def shuffled_service_roots(self, hash):
if self.service_roots == None:
+ self.lock.acquire()
keep_disks = api().keep_disks().list().execute()['items']
roots = (("http%s://%s:%d/" %
('s' if f['service_ssl_flag'] else '',
for f in keep_disks)
self.service_roots = sorted(set(roots))
logging.debug(str(self.service_roots))
+ self.lock.release()
seed = hash
pool = self.service_roots[:]
pseq = []