main.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/IceWhaleTech/CasaOS/pkg/config"
  6. "github.com/IceWhaleTech/CasaOS/pkg/sqlite"
  7. loger2 "github.com/IceWhaleTech/CasaOS/pkg/utils/loger"
  8. "github.com/IceWhaleTech/CasaOS/route"
  9. "github.com/IceWhaleTech/CasaOS/service"
  10. "github.com/gin-gonic/gin"
  11. "github.com/robfig/cron"
  12. "gorm.io/gorm"
  13. "net/http"
  14. "time"
  15. )
  16. var sqliteDB *gorm.DB
  17. var swagHandler gin.HandlerFunc
  18. var configFlag = flag.String("c", "", "config address")
  19. func init() {
  20. flag.Parse()
  21. config.InitSetup(*configFlag)
  22. loger2.LogSetup()
  23. sqliteDB = sqlite.GetDb(config.AppInfo.ProjectPath)
  24. //gredis.GetRedisConn(config.RedisInfo),
  25. service.MyService = service.NewService(sqliteDB, loger2.NewOLoger())
  26. }
  27. // @title Oasis API
  28. // @version 1.0.0
  29. // @contact.name lauren.pan
  30. // @contact.url https://www.zimaboard.com
  31. // @contact.email lauren.pan@icewhale.org
  32. // @description Oasis v1版本api
  33. // @host 192.168.2.114:8089
  34. // @securityDefinitions.apikey ApiKeyAuth
  35. // @in header
  36. // @name Authorization
  37. // @BasePath /v1
  38. func main() {
  39. //model.Setup()
  40. //gredis.Setup()
  41. r := route.InitRouter(swagHandler)
  42. service.SyncTask(sqliteDB)
  43. cron2 := cron.New() //创建一个cron实例
  44. //执行定时任务(每5秒执行一次)
  45. err := cron2.AddFunc("0 0 0 1/1 * *", func() {
  46. //service.UpdataDDNSList(mysqldb)
  47. service.SyncTask(sqliteDB)
  48. })
  49. if err != nil {
  50. fmt.Println(err)
  51. }
  52. //启动/关闭
  53. cron2.Start()
  54. defer cron2.Stop()
  55. s := &http.Server{
  56. Addr: fmt.Sprintf(":%v", config.ServerInfo.HttpPort),
  57. Handler: r,
  58. ReadTimeout: 60 * time.Second,
  59. WriteTimeout: 60 * time.Second,
  60. MaxHeaderBytes: 1 << 20,
  61. }
  62. s.ListenAndServe()
  63. }