feat: add im kafka admin integration

This commit is contained in:
richjohnrambo
2026-09-04 11:57:38 +08:00
parent a2abaef3a6
commit f7f8cc0ef0
74 changed files with 6254 additions and 47 deletions
+38
View File
@@ -0,0 +1,38 @@
// 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
}