1
1
import asyncio
2
- from datetime import date
3
2
import json
4
3
import os
5
4
@@ -18,7 +17,8 @@ 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" , "/tmp" )}
22
22
)
23
23
)
24
24
self .json_files = [
@@ -30,6 +30,14 @@ def __init__(self):
30
30
self .inference_engine = LlamaCppInferenceEngine ()
31
31
self .model_path = "./models/all-minilm-L6-v2-q5_k_m.gguf"
32
32
33
+ def restore_backup (self ):
34
+ if os .getenv ("BACKUP_FOLDER" ):
35
+ try :
36
+ self .client .backup .restore (backup_id = os .getenv ("BACKUP_ORIGIN_ID" , "backup" ),
37
+ backend = "filesystem" , wait_for_completion = True )
38
+ except Exception as e :
39
+ print (f"Failed to restore backup: { e } " )
40
+
33
41
def setup_schema (self ):
34
42
if not self .client .collections .exists ("Package" ):
35
43
self .client .collections .create (
@@ -87,11 +95,13 @@ async def add_data(self):
87
95
)
88
96
89
97
async def run_import (self ):
98
+ self .restore_backup ()
90
99
self .setup_schema ()
91
100
# await self.add_data()
92
101
93
102
# 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 )
103
+ self .client .backup .create (backup_id = os .getenv ("BACKUP_TARGET_ID" , "backup" ),
104
+ backend = "filesystem" , wait_for_completion = True )
95
105
96
106
97
107
if __name__ == "__main__" :
0 commit comments