main.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Code generated by hertz generator.
  2. package main
  3. import (
  4. "context"
  5. "fmt"
  6. "github.com/cloudwego/hertz/pkg/app/server"
  7. "github.com/hertz-contrib/cors"
  8. "github.com/robfig/cron/v3"
  9. "pji_desktop_http/biz/dal"
  10. "pji_desktop_http/biz/handler/map_service"
  11. "pji_desktop_http/common/config"
  12. "pji_desktop_http/common/config/c_log"
  13. "pji_desktop_http/pji_client"
  14. "time"
  15. )
  16. func main() {
  17. // 初始化数据库
  18. dal.Init()
  19. // 初始化日志
  20. c_log.InitLog("logs/", "desktop_http")
  21. // 初始化oss
  22. config.InitOssConfig()
  23. // 初始化朴津sdk
  24. pji_client.InitApiClient()
  25. // 添加调度器
  26. c := cron.New()
  27. // 添加定时任务
  28. ctx := context.Background()
  29. _, err := c.AddFunc("@every 30m", func() {
  30. // 发送地图续扫通知
  31. flag := map_service.AddMapRescanNotifyWithoutHttp(ctx)
  32. if flag {
  33. fmt.Println("轮询地图续扫提醒结束")
  34. }
  35. flag = map_service.UploadOriginalMapWithoutHttp(ctx)
  36. if flag {
  37. fmt.Println("轮询上传原始地图结束")
  38. }
  39. })
  40. if err != nil {
  41. return
  42. }
  43. // 启动调度器
  44. c.Start()
  45. h := server.New(
  46. server.WithStreamBody(true),
  47. server.WithIdleTimeout(time.Minute*10),
  48. )
  49. h.Use(cors.New(cors.Config{
  50. AllowOrigins: []string{"*"},
  51. AllowMethods: []string{"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},
  52. AllowHeaders: []string{"Origin, X-Requested-With, Content-Type, Accept, Authorization"},
  53. ExposeHeaders: []string{"Content-Length, Content-Disposition, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type"},
  54. AllowCredentials: true,
  55. }))
  56. register(h)
  57. h.Spin()
  58. }