def run_update(signum): if uwsgi.is_locked(signum): return uwsgi.lock(signum) try: while True: try: logging.info('Updating accounts..') scan.update_accounts() logging.info('Updating addresses..') scan.update_addresses() break except: logging.exception( 'Failed to update accounts/addresses, retrying') time.sleep(30) for i in range(100): try: for acc in scan.ACCOUNTS: if hash(acc) % PARALLEL == signum - 1: for region in os.getenv('REGIONS').split(','): for i in range(3): try: scan.update_connections(acc, region) break except botocore.exceptions.ClientError: logging.exception('Client error') # throttling time.sleep(60) except: logging.exception('Failed to update') time.sleep(60) finally: uwsgi.unlock(signum)
def run_update(signum): if uwsgi.is_locked(signum): return uwsgi.lock(signum) try: while True: try: logging.info('Updating accounts..') scan.update_accounts() logging.info('Updating addresses..') scan.update_addresses() break except: logging.exception('Failed to update accounts/addresses, retrying') time.sleep(30) for i in range(100): try: for acc in scan.ACCOUNTS: if hash(acc) % PARALLEL == signum-1: for region in os.getenv('REGIONS').split(','): for i in range(3): try: scan.update_connections(acc, region) break except botocore.exceptions.ClientError: logging.exception('Client error') # throttling time.sleep(60) except: logging.exception('Failed to update') time.sleep(60) finally: uwsgi.unlock(signum)
def run(self): logging.info('Updating accounts..') scan.update_accounts() logging.info('Updating addresses..') scan.update_addresses() account_ids = collections.defaultdict(list) for acc in scan.ACCOUNTS: account_ids[hash(acc) % 16].append(acc) for ids in account_ids.values(): thread = BackgroundAccountThread(ids) thread.start()
def run(self): while True: try: logging.info('Updating accounts..') scan.update_accounts() logging.info('Updating addresses..') scan.update_addresses() break except: logging.exception('Failed to update accounts/addresses, retrying') time.sleep(30) account_ids = collections.defaultdict(list) for acc in scan.ACCOUNTS: account_ids[hash(acc) % 16].append(acc) for ids in account_ids.values(): thread = BackgroundAccountThread(ids) thread.start()
def run(self): while True: try: logging.info('Updating accounts..') scan.update_accounts() logging.info('Updating addresses..') scan.update_addresses() break except: logging.exception( 'Failed to update accounts/addresses, retrying') time.sleep(30) account_ids = collections.defaultdict(list) for acc in scan.ACCOUNTS: account_ids[hash(acc) % 16].append(acc) for ids in account_ids.values(): thread = BackgroundAccountThread(ids) thread.start()
def get_addresses(): scan.update_addresses() q = flask.request.args.get('q') return {k: v for k, v in scan.NAMES.items() if not q or (v and q in v)}