mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-20 06:38:45 +05:00
accept config hooks as RunCGREngine parameters
moving away from global variables
This commit is contained in:
committed by
Dan Christian Bogos
parent
48a9441a39
commit
5fe503605f
@@ -44,9 +44,6 @@ var (
|
||||
logLevel = cgrEngineFlags.Int(utils.LogLevelCfg, -1, "Log level (0=emergency to 7=debug)")
|
||||
setVersions = cgrEngineFlags.Bool(utils.SetVersionsCgr, false, "Overwrite database versions (equivalent to cgr-migrator -exec=*set_versions)")
|
||||
|
||||
// ConfigHook allows external packages to modify config after logger init.
|
||||
ConfigHook func(cfg *config.CGRConfig) error
|
||||
|
||||
cfg *config.CGRConfig
|
||||
)
|
||||
|
||||
@@ -305,7 +302,7 @@ func singnalHandler(shdWg *sync.WaitGroup, shdChan *utils.SyncedChan) {
|
||||
}
|
||||
}
|
||||
|
||||
func RunCGREngine(args []string) {
|
||||
func RunCGREngine(args []string, hooks ...func(*config.CGRConfig) error) {
|
||||
cgrEngineFlags.Parse(args)
|
||||
vers, err := utils.GetCGRVersion()
|
||||
if err != nil {
|
||||
@@ -389,9 +386,9 @@ func RunCGREngine(args []string) {
|
||||
}
|
||||
utils.Logger.SetLogLevel(lgLevel)
|
||||
|
||||
if ConfigHook != nil {
|
||||
if err := ConfigHook(cfg); err != nil {
|
||||
log.Fatalf("ConfigHook failed: %s", err.Error())
|
||||
for _, hook := range hooks {
|
||||
if err := hook(cfg); err != nil {
|
||||
log.Fatalf("config hook failed: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user