GalaxyTab commited on
Commit
b355886
·
1 Parent(s): 6178dfb

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 {/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,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}}