diff --git a/blockstack_cli/blockstack_registrar/blockdata/register.py b/blockstack_cli/blockstack_registrar/blockdata/register.py index 902af54f6..9d0e623d0 100755 --- a/blockstack_cli/blockstack_registrar/blockdata/register.py +++ b/blockstack_cli/blockstack_registrar/blockdata/register.py @@ -19,10 +19,8 @@ from config import LOAD_BALANCER #----------------------------------- from pymongo import MongoClient client = MongoClient() - local_db = client['namecoin'] queue = local_db.queue -codes = local_db.codes from config import MONGODB_URI remote_client = MongoClient(MONGODB_URI) @@ -64,7 +62,7 @@ def save_name_new_info(info,key,value): del reply['_id'] #reply[_id] is causing a json encode error except Exception as e: - reply['message'] = "ERROR:" + str(e) + reply['message'] = "ERROR: " + str(e) return reply @@ -234,85 +232,3 @@ def process_additional_keys(keys,values): register_name(next_key,next_value) index += 1 - -#----------------------------------- -def set_backend_server(DISTRIBUTE=True): - - DEFAULT_SERVER = 2 - BACKEND_SERVER_FOR_RESERVER = 1 - loadbalancer_counter = 0 - - for i in users.find(): - - if 'dispatched' in i and i['dispatched'] is False: - - loadbalancer_counter += 1 - - if(loadbalancer_counter == 8): - loadbalancer_counter = 0 - - #hardcoded backend_server for reserved names - if 'backend_server' not in i: - selected_server = DEFAULT_SERVER - - if 'accesscode' in i: - print "found reserved user, " + i['username'] + " using backend_server ", BACKEND_SERVER_FOR_RESERVER - selected_server = BACKEND_SERVER_FOR_RESERVER - else: - if DISTRIBUTE: - selected_server = loadbalancer_counter - - i['backend_server'] = selected_server - users.save(i) - - print "sending " + i['username'] + " to backend_server " + str(selected_server) - -#----------------------------------- -def check_new_registrations(LIVE=True): - - registered_counter = 0 - unregistered_counter = 0 - - print '-' * 5 - print "Checking for new users" - for user in registrations.find(): - - if 'dispatched' in user and user['dispatched'] is False: - - unregistered_counter += 1 - - if ('backend_server' in user) and (user['backend_server'] == int(LOAD_BALANCER)): - if LIVE: - try: - process_user(user['username'],json.loads(user['profile'])) - print user['backend_server'] - except Exception as e: - print e - continue - - username = 'u/' + user['username'].lower() - extended = 'i/' + user['username'].lower() + '-1' - - local = queue.find_one({'key':username}) - if local is not None: - print "in local DB" - if LIVE: - user['dispatched'] = True - user['accepted'] = True - users.save(user) - - print '-' * 5 - else: - registered_counter += 1 - - - print "Registered users: ", registered_counter - print "Not registered users: ", unregistered_counter - -#----------------------------------- -if __name__ == '__main__': - - LIVE = True - DISTRIBUTE = False - set_backend_server(DISTRIBUTE) - check_new_registrations(LIVE) \ No newline at end of file diff --git a/blockstack_cli/blockstack_registrar/register_daemon.py b/blockstack_cli/blockstack_registrar/register_daemon.py index a863bedff..f1a865b1a 100755 --- a/blockstack_cli/blockstack_registrar/register_daemon.py +++ b/blockstack_cli/blockstack_registrar/register_daemon.py @@ -21,6 +21,8 @@ from encrypt.bip38 import bip38_decrypt import datetime import hashlib +from time import sleep + #----------------------------------- remote_client = MongoClient(MONGODB_URI) remote_db = remote_client.get_default_database() @@ -35,9 +37,10 @@ old_users = old_db.user local_client = MongoClient() local_db = local_client['namecoin'] -queue = local_db.queue +queue_register = local_db.queue +queue_update = local_db.queue_update -problem_users = ['madmoneymachine', 'drmox'] +problem_users = ['madmoneymachine', 'drmox', 'emiljohansson','xfaure','megaz28','maxweiss','kh','patrickcines'] #----------------------------------- def process_profile(username,profile): @@ -45,11 +48,18 @@ def process_profile(username,profile): if username in problem_users: return - #check if already in queue - check_queue = queue.find_one({"key":'u/' + username}) + #check if already in register queue (name_new) + check_queue = queue_register.find_one({"key":'u/' + username}) if check_queue is not None: - print "Already in processing queue: " + str(username) + print "Already in register queue: " + str(username) + return + + #check if already in update queue (name_update) + check_queue = queue_update.find_one({"key":'u/' + username}) + + if check_queue is not None: + print "Already in update queue: " + str(username) return #check if load-balancer is correct @@ -57,7 +67,8 @@ def process_profile(username,profile): if old_user is not None: if old_user['backend_server'] != int(LOAD_BALANCER): - print "Not on this server: " + str(username) + print "Not on this server: " + str(username) + print "Run on server: " + str(old_user['backend_server']) return process_user(username,profile) @@ -93,12 +104,10 @@ def register_users(): if datetime.datetime.utcnow() - new_user['created_at'] > datetime.timedelta(minutes=15): print "Dispatch: " + user['username'] - if user['username'] == "drmox": - pass - else: - process_profile(user['username'],user['profile']) - new_user['dispatched'] = True - registrations.save(new_user) + + process_profile(user['username'],user['profile']) + new_user['dispatched'] = True + registrations.save(new_user) else: print "New user (within 15 mins): " + user['username'] @@ -114,13 +123,16 @@ def register_users(): else: if datetime.datetime.utcnow() - new_user['created_at'] > datetime.timedelta(minutes=90): - print "Re-sending after 90 mins: " + user['username'] + print "Problem (90 mins): " + user['username'] + #print "Re-sending after 180 mins: " + user['username'] #process_profile(user['username'],user['profile']) else: print "Random: " + user['username'] #registrations.remove(new_user) + sleep(1) + #----------------------------------- def check_users(): @@ -141,7 +153,7 @@ def check_users(): pass else: print "Problem: " + user["username"] - process_profile(user['username'],user['profile']) + #process_profile(user['username'],user['profile']) print "Users: " + str(counter) @@ -157,6 +169,7 @@ def check_transfer(): transfer.remove(new_user) else: print "Problem: " + user["username"] + process_profile(user['username'],user['profile']) #----------------------------------- def update_users(): @@ -175,6 +188,9 @@ def update_users(): #----------------------------------- def cleanup_db(): + print "----------" + print "Cleaning DB" + for new_user in updates.find(): user_id = new_user['user_id'] @@ -201,21 +217,20 @@ def cleanup_db(): if profile_on_blockchain(user["username"],user["profile"]): print "cleaning: " + user["username"] registrations.remove(new_user) + + print "----------" #----------------------------------- if __name__ == '__main__': #check_users() #check_transfer() - register_users() #update_users() + register_users() + cleanup_db() - - - - diff --git a/blockstack_cli/blockstack_registrar/tools/csv_reserve.py b/blockstack_cli/blockstack_registrar/tools/csv_reserve.py index abc076b92..e782ba6b9 100755 --- a/blockstack_cli/blockstack_registrar/tools/csv_reserve.py +++ b/blockstack_cli/blockstack_registrar/tools/csv_reserve.py @@ -55,6 +55,7 @@ def main_loop(key, name=None): update_name(key,value) else: print "registered but not reserved: " + key + #update_name(key,value) elif reply is not None: #currently being processed pass