feat: Update cron job scheduling and user wallet creation logic; increment API version to 1.0.dev17

This commit is contained in:
Samuel Tariku 2025-10-07 13:49:29 +03:00
parent 5fc8540eda
commit 0121b31838
3 changed files with 68 additions and 68 deletions

View File

@ -27,75 +27,75 @@ func StartDataFetchingCrons(eventService eventsvc.Service, oddsService oddssvc.S
spec string spec string
task func() task func()
}{ }{
// { {
// spec: "0 0 * * * *", // Every 1 hour spec: "0 0 * * * *", // Every 1 hour
// task: func() { task: func() {
// mongoLogger.Info("Began fetching upcoming events cron task") mongoLogger.Info("Began fetching upcoming events cron task")
// if err := eventService.FetchUpcomingEvents(context.Background()); err != nil { if err := eventService.FetchUpcomingEvents(context.Background()); err != nil {
// mongoLogger.Error("Failed to fetch upcoming events", mongoLogger.Error("Failed to fetch upcoming events",
// zap.Error(err), zap.Error(err),
// ) )
// } else { } else {
// mongoLogger.Info("Completed fetching upcoming events without errors") mongoLogger.Info("Completed fetching upcoming events without errors")
// } }
// }, },
// }, },
// { {
// spec: "0 0 * * * *", // Every 1 hour (since its takes that long to fetch all the events) spec: "0 0 * * * *", // Every 1 hour (since its takes that long to fetch all the events)
// task: func() { task: func() {
// mongoLogger.Info("Began fetching non live odds cron task") mongoLogger.Info("Began fetching non live odds cron task")
// if err := oddsService.FetchNonLiveOdds(context.Background()); err != nil { if err := oddsService.FetchNonLiveOdds(context.Background()); err != nil {
// mongoLogger.Error("Failed to fetch non live odds", mongoLogger.Error("Failed to fetch non live odds",
// zap.Error(err), zap.Error(err),
// ) )
// } else { } else {
// mongoLogger.Info("Completed fetching non live odds without errors") mongoLogger.Info("Completed fetching non live odds without errors")
// } }
// }, },
// }, },
// { {
// spec: "0 */5 * * * *", // Every 5 Minutes spec: "0 */5 * * * *", // Every 5 Minutes
// task: func() { task: func() {
// mongoLogger.Info("Began update all expired events status cron task") mongoLogger.Info("Began update all expired events status cron task")
// if _, err := resultService.CheckAndUpdateExpiredB365Events(context.Background()); err != nil { if _, err := resultService.CheckAndUpdateExpiredB365Events(context.Background()); err != nil {
// mongoLogger.Error("Failed to update expired events status", mongoLogger.Error("Failed to update expired events status",
// zap.Error(err), zap.Error(err),
// ) )
// } else { } else {
// mongoLogger.Info("Completed expired events without errors") mongoLogger.Info("Completed expired events without errors")
// } }
// }, },
// }, },
// { {
// spec: "0 */15 * * * *", // Every 15 Minutes spec: "0 */15 * * * *", // Every 15 Minutes
// task: func() { task: func() {
// mongoLogger.Info("Began updating bets based on event results cron task") mongoLogger.Info("Began updating bets based on event results cron task")
// if err := resultService.FetchB365ResultAndUpdateBets(context.Background()); err != nil { if err := resultService.FetchB365ResultAndUpdateBets(context.Background()); err != nil {
// mongoLogger.Error("Failed to process result", mongoLogger.Error("Failed to process result",
// zap.Error(err), zap.Error(err),
// ) )
// } else { } else {
// mongoLogger.Info("Completed processing all event result outcomes without errors") mongoLogger.Info("Completed processing all event result outcomes without errors")
// } }
// }, },
// }, },
// { {
// spec: "0 0 0 * * 1", // Every Monday spec: "0 0 0 * * 1", // Every Monday
// task: func() { task: func() {
// mongoLogger.Info("Began Send weekly result notification cron task") mongoLogger.Info("Began Send weekly result notification cron task")
// if err := resultService.CheckAndSendResultNotifications(context.Background(), time.Now().Add(-7*24*time.Hour)); err != nil { if err := resultService.CheckAndSendResultNotifications(context.Background(), time.Now().Add(-7*24*time.Hour)); err != nil {
// mongoLogger.Error("Failed to process result", mongoLogger.Error("Failed to process result",
// zap.Error(err), zap.Error(err),
// ) )
// } else { } else {
// mongoLogger.Info("Completed sending weekly result notification without errors") mongoLogger.Info("Completed sending weekly result notification without errors")
// } }
// }, },
// }, },
} }
for _, job := range schedule { for _, job := range schedule {
job.task() // job.task()
if _, err := c.AddFunc(job.spec, job.task); err != nil { if _, err := c.AddFunc(job.spec, job.task); err != nil {
mongoLogger.Error("Failed to schedule data fetching cron job", mongoLogger.Error("Failed to schedule data fetching cron job",
zap.Error(err), zap.Error(err),

View File

@ -304,7 +304,7 @@ func (h *Handler) RegisterUser(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusInternalServerError, "failed to register user:"+err.Error()) return fiber.NewError(fiber.StatusInternalServerError, "failed to register user:"+err.Error())
} }
newWallet, err := h.walletSvc.CreateCustomerWallet(c.Context(), newUser.ID) _, err = h.walletSvc.CreateCustomerWallet(c.Context(), newUser.ID)
if err != nil { if err != nil {
h.mongoLoggerSvc.Error("Failed to create wallet for user", h.mongoLoggerSvc.Error("Failed to create wallet for user",
zap.Int64("userID", newUser.ID), zap.Int64("userID", newUser.ID),

View File

@ -61,7 +61,7 @@ func (a *App) initAppRoutes() {
a.fiber.Get("/", func(c *fiber.Ctx) error { a.fiber.Get("/", func(c *fiber.Ctx) error {
return c.JSON(fiber.Map{ return c.JSON(fiber.Map{
"message": "Welcome to the FortuneBet API", "message": "Welcome to the FortuneBet API",
"version": "1.0.dev16", "version": "1.0.dev17",
}) })
}) })