Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,56 @@ version=1.4.3
serverExec=room_server
taskExec=room_task
collectEventExec=room_collect_event
saveEventExec=room_save_event
testTxExec=room_trans

clean:
rm -f ${serverExec}* ${taskExec}* ${collectEventExec}* ${testTxExec}*
rm -f ${serverExec}* ${taskExec}* ${collectEventExec}* ${saveEventExec}* ${testTxExec}*

build-prod-server:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-w -s -X "main.version=${version}"' -v -o $(serverExec)_${version} cmd/server/main.go

build-prod-collect-event:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-w -s -X "main.version=${version}"' -v -o $(collectEventExec)_${version} cmd/collect_event/main.go

build-prod-save-event:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-w -s -X "main.version=${version}"' -v -o $(saveEventExec)_${version} cmd/save_event/main.go

build-prod-task:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-w -s -X "main.version=${version}"' -v -o $(taskExec)_${version} cmd/task/main.go

build-prod-all: build-prod-server build-prod-collect-event build-prod-task
build-prod-all: build-prod-server build-prod-collect-event build-prod-save-event build-prod-task

build-local-server:
go build -ldflags '-X "main.version=${version}"' -v -o $(serverExec)_${version} cmd/server/main.go

build-local-collect-event:
go build -ldflags '-X "main.version=${version}"' -v -o $(collectEventExec)_${version} cmd/collect_event/main.go

build-local-save-event:
go build -ldflags '-X "main.version=${version}"' -v -o $(saveEventExec)_${version} cmd/save_event/main.go

build-local-task:
go build -ldflags '-X "main.version=${version}"' -v -o $(taskExec)_${version} cmd/task/main.go

build-local-tx:
go build -v -o $(testTxExec) cmd/tools/transaction.go

build-local-all: build-local-server build-local-collect-event build-local-task
build-local-all: build-local-server build-local-collect-event build-local-save-event build-local-task

build-linux-server:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-X "main.version=${version}"' -v -o $(serverExec)_${version} cmd/server/main.go

build-linux-collect-event:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-X "main.version=${version}"' -v -o $(collectEventExec)_${version} cmd/collect_event/main.go

build-linux-save-event:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-X "main.version=${version}"' -v -o $(saveEventExec)_${version} cmd/save_event/main.go

build-linux-task:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-X "main.version=${version}"' -v -o $(taskExec)_${version} cmd/task/main.go

build-linux-tx:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o $(testTxExec) cmd/tools/transaction.go

build-linux-all: build-linux-server build-linux-collect-event build-linux-task
build-linux-all: build-linux-server build-linux-collect-event build-linux-save-event build-linux-task
70 changes: 65 additions & 5 deletions base/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ import (
var serverDependency Dependency
var taskDependency Dependency
var collectEventDependency CollectEventDependency
var saveEventDependency SaveEventDependency

var hashTagEventService *HashTagEventService
var hashTagLoadedCache *cache.Cache

var serverConfig *RoomServerConfig
var taskConfig *RoomTaskConfig
var collectEventConfig *RoomCollectEventConfig
var saveEventConfig *RoomSaveEventConfig

var json = jsoniter.ConfigCompatibleWithStandardLibrary

Expand All @@ -39,6 +41,9 @@ func initService(
if err != nil {
return nil, nil, nil, fmt.Errorf("init_metric.%w", err)
}
if dbClusterConfig.IsEmpty() {
return logger, metric, nil, nil
}
databaseCluster, err := NewDBClusterFromConfig(dbClusterConfig, logger, metric)
if err != nil {
return nil, nil, nil, fmt.Errorf("init_db.%w", err)
Expand Down Expand Up @@ -147,13 +152,12 @@ func InitCollectEvent(configPath string) error {

logger, metric, dbCluster, err := initService(
"room.collect_event", collectEventConfig.Log,
collectEventConfig.Metric, collectEventConfig.DB)
collectEventConfig.Metric, DBClusterConfig{})
if err != nil {
return err
}

collectEventDependency = CollectEventDependency{
DB: dbCluster,
Logger: logger,
Metric: metric,
}
Expand All @@ -167,6 +171,39 @@ func InitCollectEvent(configPath string) error {
return nil
}

func InitSaveEvent(configPath string) error {
config, err := newConfigFromFile(configPath)
if err != nil {
return err
}

saveEventConfig = &config.SaveEvent
if err = saveEventConfig.init(); err != nil {
return err
}

logger, metric, dbCluster, err := initService(
"room.save_event", saveEventConfig.Log,
saveEventConfig.Metric, saveEventConfig.DB)
if err != nil {
return err
}

saveEventDependency = SaveEventDependency{
DB: dbCluster,
Logger: logger,
Metric: metric,
}

logger.Info(
"init room save event service",
log.String("config", fmt.Sprintf("%+v", saveEventConfig)),
log.String("database", dbCluster.String()),
)

return nil
}

func GetHashTagEventService() *HashTagEventService {
return hashTagEventService
}
Expand All @@ -187,6 +224,10 @@ func GetCollectEventConfig() *RoomCollectEventConfig {
return collectEventConfig
}

func GetSaveEventConfig() *RoomSaveEventConfig {
return saveEventConfig
}

func StartServices() {
hashTagEventService.Run()
}
Expand Down Expand Up @@ -291,12 +332,31 @@ func GetTaskDependency() Dependency {
}

type CollectEventDependency struct {
DB *DBCluster
Logger *log.Logger
Metric *MetricClient
}

func (dep CollectEventDependency) Check() error {
if dep.Logger == nil {
return ErrDepLoggerNull
}
if dep.Metric == nil {
return ErrDepMetricNull
}
return nil
}

func GetCollectEventDependency() CollectEventDependency {
return collectEventDependency
}

type SaveEventDependency struct {
DB *DBCluster
Logger *log.Logger
Metric *MetricClient
}

func (dep SaveEventDependency) Check() error {
if dep.DB == nil {
return ErrDepDBNull
}
Expand All @@ -309,6 +369,6 @@ func (dep CollectEventDependency) Check() error {
return nil
}

func GetCollectEventDependency() CollectEventDependency {
return collectEventDependency
func GetSaveEventDependency() SaveEventDependency {
return saveEventDependency
}
Loading