mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-14 06:49:52 +01:00
Implement MovieManager connection
This commit is contained in:
39
huso.go
39
huso.go
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
@@ -11,6 +12,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/allegro/bigcache/v3"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
"github.com/gookit/color"
|
||||
"github.com/xujiajun/nutsdb"
|
||||
"golang.org/x/time/rate"
|
||||
@@ -45,12 +47,16 @@ var (
|
||||
jikanApiBaseUri = flag.String("jikanApiBaseUri", "https://api.jikan.moe/v4/", "Jikan API base URL")
|
||||
malApiId = flag.String("malApiId", "cc17dcf40581b9dfc8a5a12dba458153", "MyAnimeList API Client ID")
|
||||
localServer = flag.Bool("localServer", false, "Set varius headers for running locally")
|
||||
mmDbServer = flag.String("mmDbServer", "hanami.family:3306", "MovieManager db server")
|
||||
mmDbUser = flag.String("mmDbUser", "yui", "MovieManager db user")
|
||||
animeCache *bigcache.BigCache
|
||||
seasoncache *bigcache.BigCache
|
||||
userCache *bigcache.BigCache
|
||||
searchCache *bigcache.BigCache
|
||||
animeListCache *bigcache.BigCache
|
||||
mmCache *bigcache.BigCache
|
||||
db *nutsdb.DB
|
||||
mmDb *sql.DB
|
||||
jikanLimiter *rate.Limiter
|
||||
logOut *RingBuf
|
||||
buildTime string
|
||||
@@ -66,7 +72,7 @@ func main() {
|
||||
logOut = NewRingBuf(10101)
|
||||
|
||||
color.Notice.Printf("huso %s built on %s with %s\n", husoVersion, buildTime, runtime.Version())
|
||||
logOut.WriteLine(fmt.Sprintf("🎉 huso %s built on %s with %s\n", husoVersion, buildTime, runtime.Version()))
|
||||
logOut.WriteLine(fmt.Sprintf("🎉 huso %s built on %s with %s", husoVersion, buildTime, runtime.Version()))
|
||||
|
||||
jikanLimiter = rate.NewLimiter(rate.Every(time.Second), 1)
|
||||
|
||||
@@ -97,6 +103,11 @@ func main() {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer animeListCache.Close()
|
||||
mmCache, err = bigcache.NewBigCache(bigcache.DefaultConfig(time.Minute))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer mmCache.Close()
|
||||
|
||||
nutsOpt := nutsdb.DefaultOptions
|
||||
nutsOpt.Dir = "nuts"
|
||||
@@ -106,6 +117,32 @@ func main() {
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
color.Infoln("NutsDB connected")
|
||||
logOut.WriteLine("🗃️ NutsDB connected")
|
||||
|
||||
conns, err := GetMmConnString()
|
||||
if err != nil {
|
||||
color.Errorln(err.Error())
|
||||
} else {
|
||||
mmDb, err = sql.Open("mysql", conns)
|
||||
if err != nil || mmDb == nil {
|
||||
color.Errorln(err.Error())
|
||||
} else {
|
||||
mmDb.SetConnMaxLifetime(time.Minute * 3)
|
||||
mmDb.SetMaxOpenConns(10)
|
||||
mmDb.SetMaxIdleConns(10)
|
||||
defer mmDb.Close()
|
||||
|
||||
err = mmDb.Ping()
|
||||
if err != nil {
|
||||
color.Errorln(err.Error())
|
||||
} else {
|
||||
color.Infoln("MovieManager DB connected")
|
||||
logOut.WriteLine("🗃️ MovieManager DB connected")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Arbeit()
|
||||
LangeArbeit()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user