feat: add im kafka admin integration
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user