1
1
import asyncio
2
- from datetime import date
3
2
import json
4
3
import os
5
4
@@ -18,7 +17,9 @@ def __init__(self):
18
17
self .client = weaviate .WeaviateClient (
19
18
embedded_options = EmbeddedOptions (
20
19
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" )}
22
23
)
23
24
)
24
25
self .json_files = [
@@ -30,6 +31,14 @@ def __init__(self):
30
31
self .inference_engine = LlamaCppInferenceEngine ()
31
32
self .model_path = "./models/all-minilm-L6-v2-q5_k_m.gguf"
32
33
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
+
33
42
def setup_schema (self ):
34
43
if not self .client .collections .exists ("Package" ):
35
44
self .client .collections .create (
@@ -87,11 +96,13 @@ async def add_data(self):
87
96
)
88
97
89
98
async def run_import (self ):
99
+ self .restore_backup ()
90
100
self .setup_schema ()
91
101
# await self.add_data()
92
102
93
103
# 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 )
95
106
96
107
97
108
if __name__ == "__main__" :
0 commit comments