Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Set up a python approach to backing up the database instead of a cron job
Browse files
chat_application/.datasetHandler.py.swp
ADDED
|
Binary file (12.3 kB). View file
|
|
|
chat_application/datasetHandler.py
CHANGED
|
@@ -12,12 +12,12 @@ class datasetHandler():
|
|
| 12 |
|
| 13 |
def make_dump(self):
|
| 14 |
try:
|
| 15 |
-
os.system(f"mongodump --db {self.DB_name} --out
|
| 16 |
return 0
|
| 17 |
except Exception as e:
|
| 18 |
print(e)
|
| 19 |
return 1
|
| 20 |
-
|
| 21 |
def upload_dump(self):
|
| 22 |
try:
|
| 23 |
upload_folder(folder_path="/tmp/mongoDbContents",path_in_repo="mongoDump", repo_id="ProjectFrozone/MongoDBDumps", repo_type="dataset")
|
|
@@ -25,3 +25,7 @@ class datasetHandler():
|
|
| 25 |
except Exception as e:
|
| 26 |
print(e)
|
| 27 |
return 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
def make_dump(self):
|
| 14 |
try:
|
| 15 |
+
os.system(f"mongodump --db {self.DB_name} --out /tmp/mongoDBContents")
|
| 16 |
return 0
|
| 17 |
except Exception as e:
|
| 18 |
print(e)
|
| 19 |
return 1
|
| 20 |
+
|
| 21 |
def upload_dump(self):
|
| 22 |
try:
|
| 23 |
upload_folder(folder_path="/tmp/mongoDbContents",path_in_repo="mongoDump", repo_id="ProjectFrozone/MongoDBDumps", repo_type="dataset")
|
|
|
|
| 25 |
except Exception as e:
|
| 26 |
print(e)
|
| 27 |
return 1
|
| 28 |
+
|
| 29 |
+
def dump_db(self):
|
| 30 |
+
make_dump()
|
| 31 |
+
upload_dump()
|
chat_application/main.py
CHANGED
|
@@ -399,6 +399,14 @@ def ask_bot_round(room_id):
|
|
| 399 |
# All bots passed - reprompt
|
| 400 |
print("All bots passed. Re-prompting for responses.\n")
|
| 401 |
time.sleep(2) # prevents CPU thrashing & spamming
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 402 |
|
| 403 |
# Build the routes
|
| 404 |
#disabled landing
|
|
@@ -587,6 +595,8 @@ def handle_connect():
|
|
| 587 |
socketio.start_background_task(send_bot_joined, room, room_doc['HotBot_name'], 13)
|
| 588 |
# Start background task to send the initial watermelon post after a short delay
|
| 589 |
socketio.start_background_task(send_initial_post, room, 10)
|
|
|
|
|
|
|
| 590 |
rooms_collection.update_one(
|
| 591 |
{"_id": room},
|
| 592 |
{"$set": {"initialPostsSent": True}}
|
|
|
|
| 399 |
# All bots passed - reprompt
|
| 400 |
print("All bots passed. Re-prompting for responses.\n")
|
| 401 |
time.sleep(2) # prevents CPU thrashing & spamming
|
| 402 |
+
|
| 403 |
+
#background task which executes every two minutes to backup database to dataset
|
| 404 |
+
def backup_mongo(time):
|
| 405 |
+
while (True):
|
| 406 |
+
token = os.getenv("HF_TOKEN")
|
| 407 |
+
handler = dataset_handler(token , 'huggingFaceData')
|
| 408 |
+
handler.dump_db()
|
| 409 |
+
socketio.sleep(time)
|
| 410 |
|
| 411 |
# Build the routes
|
| 412 |
#disabled landing
|
|
|
|
| 595 |
socketio.start_background_task(send_bot_joined, room, room_doc['HotBot_name'], 13)
|
| 596 |
# Start background task to send the initial watermelon post after a short delay
|
| 597 |
socketio.start_background_task(send_initial_post, room, 10)
|
| 598 |
+
# Start the background backup dataset task
|
| 599 |
+
socketio.start_background_task(backup_mongo , 120)
|
| 600 |
rooms_collection.update_one(
|
| 601 |
{"_id": room},
|
| 602 |
{"$set": {"initialPostsSent": True}}
|