11import asyncio
2- from datetime import date
32import json
43import os
54
@@ -18,7 +17,9 @@ def __init__(self):
1817 self .client = weaviate .WeaviateClient (
1918 embedded_options = EmbeddedOptions (
2019 persistence_data_path = "./weaviate_data" , grpc_port = 50052 ,
21- additional_env_vars = {"ENABLE_MODULES" : "backup-filesystem" , "BACKUP_FILESYSTEM_PATH" : os .getenv ("BACKUP_FILESYSTEM_PATH" , "/tmp" )}
20+ additional_env_vars = {"ENABLE_MODULES" : "backup-filesystem" ,
21+ "BACKUP_FILESYSTEM_PATH" : os .getenv ("BACKUP_FILESYSTEM_PATH" ,
22+ "/tmp" )}
2223 )
2324 )
2425 self .json_files = [
@@ -30,6 +31,14 @@ def __init__(self):
3031 self .inference_engine = LlamaCppInferenceEngine ()
3132 self .model_path = "./models/all-minilm-L6-v2-q5_k_m.gguf"
3233
34+ def restore_backup (self ):
35+ if os .getenv ("BACKUP_FOLDER" ):
36+ try :
37+ self .client .backup .restore (backup_id = os .getenv ("BACKUP_ORIGIN_ID" , "backup" ),
38+ backend = "filesystem" , wait_for_completion = True )
39+ except Exception as e :
40+ print (f"Failed to restore backup: { e } " )
41+
3342 def setup_schema (self ):
3443 if not self .client .collections .exists ("Package" ):
3544 self .client .collections .create (
@@ -87,11 +96,13 @@ async def add_data(self):
8796 )
8897
8998 async def run_import (self ):
99+ self .restore_backup ()
90100 self .setup_schema ()
91101 # await self.add_data()
92102
93103 # take a backup of the data
94- self .client .backup .create (backup_id = "backup-" + date .today ().strftime ("%Y-%m-%d" ), backend = "filesystem" , wait_for_completion = True )
104+ self .client .backup .create (backup_id = os .getenv ("BACKUP_TARGET_ID" , "backup" ),
105+ backend = "filesystem" , wait_for_completion = True )
95106
96107
97108if __name__ == "__main__" :
0 commit comments