main.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. _, err = c.AddFunc("@every 10m", func() {
  41. flag := map_service.UpdateMapDeployStatusWithoutHttp(ctx)
  42. if flag {
  43. fmt.Println("轮询更新地图下发状态成功")
  44. }
  45. })
  46. if err != nil {
  47. return
  48. }
  49. // 启动调度器
  50. c.Start()
  51. h := server.New(
  52. server.WithStreamBody(true),
  53. server.WithIdleTimeout(time.Minute*10),
  54. )
  55. h.Use(cors.New(cors.Config{
  56. AllowOrigins: []string{"*"},
  57. AllowMethods: []string{"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},
  58. AllowHeaders: []string{"Origin, X-Requested-With, Content-Type, Accept, Authorization"},
  59. ExposeHeaders: []string{"Content-Length, Content-Disposition, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type"},
  60. AllowCredentials: true,
  61. }))
  62. register(h)
  63. h.Spin()
  64. }