chore: 并入 iotlcm-admin-svr 历史到 admin-svr/(原提交 49818c6)

This commit is contained in:
MiFaZhan
2026-11-02 13:27:59 +08:00
1250 changed files with 154111 additions and 0 deletions
@@ -0,0 +1,49 @@
package workerdiagnostic
import (
"context"
"fmt"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/guid"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/consts"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model"
)
type Publisher func(ctx context.Context, queue string, data any) error
type Service struct {
publisher Publisher
}
type Result struct {
TraceID string
Queue string
SentAt int64
}
func New(publisher Publisher) *Service {
return &Service{publisher: publisher}
}
func (s *Service) Publish(ctx context.Context, message string) (*Result, error) {
var (
traceID = fmt.Sprintf("worker-test-%s", guid.S())
sentAt = gtime.TimestampMilli()
payload = model.WorkerDiagnosticMessage{
TraceID: traceID,
SentAt: sentAt,
Message: message,
}
)
if err := s.publisher(ctx, consts.QueueWorkerDiagnostic, payload); err != nil {
return nil, gerror.Wrap(err, "publish worker diagnostic message failed")
}
return &Result{
TraceID: traceID,
Queue: consts.QueueWorkerDiagnostic,
SentAt: sentAt,
}, nil
}