Files
ragflow/internal/service/task_publisher.go
Jack 5e60fcec9f Refactor: Refine ingestion task state transitions (#16814)
### Summary

Refine ingestion task state transitions
2026-07-10 22:47:51 +08:00

32 lines
724 B
Go

package service
import (
"encoding/json"
"fmt"
"ragflow/internal/common"
"ragflow/internal/engine"
)
type TaskPublisher interface {
PublishTaskMessage(subject string, msg common.TaskMessage) error
}
type MessageQueueTaskPublisher struct{}
func NewMessageQueueTaskPublisher() *MessageQueueTaskPublisher {
return &MessageQueueTaskPublisher{}
}
func (p *MessageQueueTaskPublisher) PublishTaskMessage(subject string, msg common.TaskMessage) error {
msgQueueEngine := engine.GetMessageQueueEngine()
if msgQueueEngine == nil {
return fmt.Errorf("message queue engine is not initialized")
}
payload, err := json.Marshal(msg)
if err != nil {
return err
}
return msgQueueEngine.PublishTask(subject, payload)
}