2022-08-22 01:36:13 +00:00
|
|
|
package main
|
|
|
|
|
2022-08-27 13:21:05 +00:00
|
|
|
import (
|
2022-11-05 07:07:08 +00:00
|
|
|
"flag"
|
2022-10-07 14:27:34 +00:00
|
|
|
"github/fthvgb1/wp-go/actions"
|
2022-09-19 11:11:36 +00:00
|
|
|
"github/fthvgb1/wp-go/actions/common"
|
2022-11-04 02:38:59 +00:00
|
|
|
"github/fthvgb1/wp-go/config"
|
2022-08-27 13:21:05 +00:00
|
|
|
"github/fthvgb1/wp-go/db"
|
2022-11-07 08:04:13 +00:00
|
|
|
"github/fthvgb1/wp-go/models"
|
2022-11-05 02:32:57 +00:00
|
|
|
"github/fthvgb1/wp-go/models/wp"
|
2022-09-26 08:35:38 +00:00
|
|
|
"github/fthvgb1/wp-go/plugins"
|
2022-09-01 02:31:11 +00:00
|
|
|
"github/fthvgb1/wp-go/route"
|
2022-10-13 03:09:52 +00:00
|
|
|
"math/rand"
|
2022-09-28 13:16:05 +00:00
|
|
|
"time"
|
2022-08-27 13:21:05 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
2022-11-05 07:07:08 +00:00
|
|
|
var c string
|
|
|
|
flag.StringVar(&c, "c", "config.yaml", "config file")
|
|
|
|
flag.Parse()
|
2022-10-13 03:09:52 +00:00
|
|
|
rand.Seed(time.Now().UnixNano())
|
2022-11-05 07:07:08 +00:00
|
|
|
err := config.InitConfig(c)
|
2022-08-27 13:21:05 +00:00
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2022-09-23 13:46:34 +00:00
|
|
|
|
2022-08-27 13:21:05 +00:00
|
|
|
err = db.InitDb()
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2022-11-07 08:04:13 +00:00
|
|
|
models.InitDB(db.NewSqlxDb(db.Db))
|
2022-11-05 02:32:57 +00:00
|
|
|
err = wp.InitOptions()
|
2022-09-01 02:31:11 +00:00
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2022-09-23 13:46:34 +00:00
|
|
|
|
2022-11-05 02:32:57 +00:00
|
|
|
err = wp.InitTerms()
|
2022-09-05 01:49:14 +00:00
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2022-10-07 14:27:34 +00:00
|
|
|
actions.InitFeed()
|
2022-09-26 13:25:41 +00:00
|
|
|
common.InitActionsCommonCache()
|
|
|
|
plugins.InitDigestCache()
|
2022-09-28 13:16:05 +00:00
|
|
|
go cronClearCache()
|
|
|
|
}
|
|
|
|
|
|
|
|
func cronClearCache() {
|
2022-11-04 02:38:59 +00:00
|
|
|
t := time.NewTicker(config.Conf.CrontabClearCacheTime)
|
2022-09-28 13:16:05 +00:00
|
|
|
for {
|
|
|
|
select {
|
|
|
|
case <-t.C:
|
|
|
|
common.ClearCache()
|
|
|
|
plugins.ClearDigestCache()
|
2022-10-07 15:16:25 +00:00
|
|
|
actions.ClearCache()
|
2022-09-28 13:16:05 +00:00
|
|
|
}
|
|
|
|
}
|
2022-08-27 13:21:05 +00:00
|
|
|
}
|
2022-08-22 01:36:13 +00:00
|
|
|
|
|
|
|
func main() {
|
2022-11-05 07:07:08 +00:00
|
|
|
if config.Conf.Port == "" {
|
|
|
|
config.Conf.Port = "80"
|
|
|
|
}
|
|
|
|
err := route.SetupRouter().Run(config.Conf.Port)
|
2022-08-27 13:21:05 +00:00
|
|
|
if err != nil {
|
2022-09-01 02:31:11 +00:00
|
|
|
panic(err)
|
2022-08-27 13:21:05 +00:00
|
|
|
}
|
2022-08-22 01:36:13 +00:00
|
|
|
}
|