mirror of https://github.com/shunfei/cronsun
49 lines
822 B
Go
49 lines
822 B
Go
package cronsun
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/shunfei/cronsun/conf"
|
|
"github.com/shunfei/cronsun/db"
|
|
)
|
|
|
|
var (
|
|
initialized bool
|
|
|
|
_Uid int
|
|
)
|
|
|
|
func Init() (err error) {
|
|
if initialized {
|
|
return
|
|
}
|
|
|
|
// init id creator
|
|
if err = initID(); err != nil {
|
|
return fmt.Errorf("Init UUID Generator failed: %s", err)
|
|
}
|
|
|
|
// init config
|
|
if err = conf.Init(); err != nil {
|
|
return fmt.Errorf("Init Config failed: %s", err)
|
|
}
|
|
|
|
// init etcd client
|
|
if DefalutClient, err = NewClient(conf.Config); err != nil {
|
|
return fmt.Errorf("Connect to ETCD %s failed: %s",
|
|
conf.Config.Etcd.Endpoints, err)
|
|
}
|
|
|
|
// init mongoDB
|
|
if mgoDB, err = db.NewMdb(conf.Config.Mgo); err != nil {
|
|
return fmt.Errorf("Connect to MongoDB %s failed: %s",
|
|
conf.Config.Mgo.Hosts, err)
|
|
}
|
|
|
|
_Uid = os.Getuid()
|
|
|
|
initialized = true
|
|
return
|
|
}
|