// Package crons // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2026 HotGo // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE package crons import ( "context" "hotgo/internal/library/cron" "hotgo/internal/library/imkafka" ) func init() { cron.Register(ImAdminOutbox) } var ImAdminOutbox = &cImAdminOutbox{name: "im_admin_outbox"} type cImAdminOutbox struct { name string } func (c *cImAdminOutbox) GetName() string { return c.name } func (c *cImAdminOutbox) Execute(ctx context.Context, parser *cron.Parser) (err error) { sent, err := imkafka.DispatchPendingOutbox(ctx, 100) if err != nil { parser.Logger.Warningf(ctx, "IM后台命令Outbox补偿投递失败 err:%+v", err) return err } if sent > 0 { parser.Logger.Infof(ctx, "IM后台命令Outbox补偿投递完成 count:%d", sent) } return nil }