文档

启动前 hook 处理

更新时间:

在服务启动之前,用户可以定义 hookfunc 方法,通过 AddStartHook 注册上去。启动服务之前,会依据注册顺序,依次调用 hookfunc 方法。

func main() {
  pairec.AddStartHook(func() error {
    precall.RegisterRecall("LiveRoomRecall", recall.NewLiveRoomRecall())
    module.RegisterGenerateItemDataFunc(filter.GenerateExposureHistoryItemData)
    prank.SetBoostFunc(rank.BoostScore)
    return nil
  })

  pairec.Route("/api/rec/live_room_sync", &controller.LiveRoomSyncController{})
  pairec.Route("/api/rec/live_feed", &controller.LiveFeedController{})

  pairec.Run()
}

路由配置

与 Golang 中的 HTTP 包类似,pairec 也提供了两种注册路由方式。

  • pairec.HandleFunc 和 HTTP 中的 HandleFunc 类似

 HandleFunc("/ping", func(w http.ResponseWriter, r *http.Request) {                                                                                                                                                                                                                                                           
        io.WriteString(w, "success")                                                                                                                                                                                                                                                                                             
})

  • pairec.Route , 使用 Controller 注册,如果用户提供自己的 Controller,需要实现接口

Route("/api/recommend", &web.RecommendController{})
type ControllerInterface interface {                                                                                                                                                                                                                                                                                             
    Process(http.ResponseWriter, *http.Request)                                                                                                                                                                                                                                                                                 
}
  • 本页导读 (0)
文档反馈