Skip to content

Commit 07823d7

Browse files
committed
🚧 根据参数按需初始化 S3 Store
1 parent 56723d3 commit 07823d7

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

cmd/ha_sqlited/ha_sqlited.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
hadb "github.com/uglyer/ha-sqlite/db"
66
"github.com/uglyer/ha-sqlite/log"
77
"github.com/uglyer/ha-sqlite/proto"
8+
"github.com/uglyer/ha-sqlite/s3"
89
"google.golang.org/grpc"
910
"net"
1011
)
@@ -25,10 +26,20 @@ func main() {
2526
if err != nil {
2627
log.Fatal(fmt.Sprintf("failed to listen (%s): %v", port, err))
2728
}
28-
store, err := hadb.NewHaSqliteDBManagerWithConfig(config.HaSqlite)
29+
var store *hadb.HaSqliteDBManager
30+
if config.S3.Enabled {
31+
s3Store, err := s3.NewS3Client(config.S3)
32+
if err != nil {
33+
log.Fatal(fmt.Sprintf("failed to create s3 client: %v", err))
34+
}
35+
store, err = hadb.NewHaSqliteDBManagerWithConfigAndS3(config.HaSqlite, s3Store)
36+
} else {
37+
store, err = hadb.NewHaSqliteDBManagerWithConfig(config.HaSqlite)
38+
}
2939
if err != nil {
3040
log.Fatal(fmt.Sprintf("failed to create db manager: %v", err))
3141
}
42+
3243
s := grpc.NewServer()
3344
proto.RegisterDBServer(s, store)
3445
go func() {

db/ha_sqlite_db_manager.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"github.com/uglyer/ha-sqlite/db/store"
88
"github.com/uglyer/ha-sqlite/log"
99
"github.com/uglyer/ha-sqlite/proto"
10+
"github.com/uglyer/ha-sqlite/s3"
1011
"path"
1112
"sync"
1213
"time"
@@ -21,6 +22,7 @@ type HaSqliteDBManager struct {
2122
dbLockedMap map[int64]int
2223
defaultOnApplyWal func(b []byte) error
2324
config *HaSqliteConfig
25+
s3Store s3.S3Store
2426
}
2527

2628
var defaultHaSqliteConfig = &HaSqliteConfig{
@@ -36,6 +38,10 @@ func NewHaSqliteDBManager() (*HaSqliteDBManager, error) {
3638
}
3739

3840
func NewHaSqliteDBManagerWithConfig(config *HaSqliteConfig) (*HaSqliteDBManager, error) {
41+
return NewHaSqliteDBManagerWithConfigAndS3(config, nil)
42+
}
43+
44+
func NewHaSqliteDBManagerWithConfigAndS3(config *HaSqliteConfig, s3Store s3.S3Store) (*HaSqliteDBManager, error) {
3945
s, err := store.NewHaSqliteDBStoreWithDataSourceName(config.ManagerDBPath)
4046
if err != nil {
4147
return nil, err
@@ -47,7 +53,8 @@ func NewHaSqliteDBManagerWithConfig(config *HaSqliteConfig) (*HaSqliteDBManager,
4753
defaultOnApplyWal: func(b []byte) error {
4854
return nil
4955
},
50-
config: config,
56+
config: config,
57+
s3Store: s3Store,
5158
}, nil
5259
}
5360

0 commit comments

Comments
 (0)