Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
    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()
Esempio n. 4
0
    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()
Esempio n. 5
0
    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()
Esempio n. 6
0
    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()
Esempio n. 7
0
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)}
Esempio n. 8
0
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)}