.
This commit is contained in:
parent
b51b7e4cf9
commit
c084ad175f
1 changed files with 20 additions and 18 deletions
38
llmongo.go
38
llmongo.go
|
@ -82,23 +82,25 @@ func init() {
|
|||
flag.BoolVar(&opts.Version, "v", false, "Version")
|
||||
}
|
||||
|
||||
func connectRedis() {
|
||||
var err error
|
||||
opts.rdb, err = redis.Dial("tcp", opts.RedisUri)
|
||||
func connectRedis(uri string) *redis.Client {
|
||||
rdb, err := redis.Dial("tcp", opts.RedisUri)
|
||||
if err != nil {
|
||||
log.Println("Redis connect Error: ", err.Error())
|
||||
os.Exit(-1)
|
||||
}
|
||||
|
||||
return rdb
|
||||
}
|
||||
|
||||
func connectMongo() {
|
||||
var err error
|
||||
opts.mdb, err = mgo.Dial(opts.MongoUri)
|
||||
func connectMongo(uri string) (*mgo.Session, *mgo.Collection) {
|
||||
mdb, err := mgo.Dial(uri)
|
||||
if err != nil {
|
||||
log.Println("Mongodb connect Error: ", err.Error())
|
||||
os.Exit(-3)
|
||||
}
|
||||
opts.ll = opts.mdb.DB("dovecot").C("lastlogin")
|
||||
ll := opts.mdb.DB("dovecot").C("lastlogin")
|
||||
|
||||
return mdb, ll
|
||||
}
|
||||
|
||||
func checkPID(bpid []byte) bool {
|
||||
|
@ -117,8 +119,14 @@ func checkPID(bpid []byte) bool {
|
|||
return true
|
||||
}
|
||||
|
||||
func writePID() {
|
||||
|
||||
func writePID(pfile string) {
|
||||
fpid, err := os.OpenFile(pfile, os.O_WRONLY|os.O_CREATE, 0666)
|
||||
if err != nil {
|
||||
fmt.Println("PID file error: ", err.Error())
|
||||
os.Exit(-5)
|
||||
}
|
||||
fpid.WriteString(strconv.Itoa(os.Getpid()))
|
||||
fpid.Close()
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
@ -134,13 +142,7 @@ func main() {
|
|||
fmt.Println("Running: ", string(bpid))
|
||||
os.Exit(-6)
|
||||
} else {
|
||||
fpid, err := os.OpenFile(opts.PIDFile, os.O_WRONLY|os.O_CREATE, 0666)
|
||||
if err != nil {
|
||||
fmt.Println("PID file error: ", err.Error())
|
||||
os.Exit(-5)
|
||||
}
|
||||
fpid.WriteString(strconv.Itoa(os.Getpid()))
|
||||
fpid.Close()
|
||||
writePID(opts.PIDFile)
|
||||
}
|
||||
defer os.Remove(opts.PIDFile)
|
||||
|
||||
|
@ -159,10 +161,10 @@ func main() {
|
|||
fmt.Printf("Start: %+v\n", opts)
|
||||
log.Printf("Start: %+v\n", opts)
|
||||
|
||||
connectRedis()
|
||||
opts.rdb = connectRedis(opts.RedisUri)
|
||||
defer opts.rdb.Close()
|
||||
|
||||
connectMongo()
|
||||
opts.mdb, opts.ll = connectMongo(opts.MongoUri)
|
||||
defer opts.mdb.Close()
|
||||
|
||||
// // Estrae la lista degli utenti che hanno fatto login negli ultimi X min.
|
||||
|
|
Loading…
Add table
Reference in a new issue