feat(generation): migrate article generation and template-assist to RabbitMQ queues

Replace in-process generation with queue-based async execution via
RabbitMQ. Add generation task runtime for lifecycle management, article
generation payload/queue abstractions, and template-assist queue publisher.
Refactor prompt generation service to support batch generation with
per-item error tracking. Update stream hub to bridge queue events to SSE.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-15 14:20:26 +08:00
parent e8f48c6d37
commit ce13331e26
14 changed files with 951 additions and 173 deletions
+1 -1
View File
@@ -94,7 +94,7 @@ func New(configPath string) (*App, error) {
vectorStore := retrieval.NewQdrantStore(cfg.Qdrant, logger)
objectStorageClient := objectstorage.New(cfg.ObjectStorage, logger)
auditLogs := auditlog.NewAsyncWriter(pool, logger)
generationStreams := stream.NewGenerationHub()
generationStreams := stream.NewGenerationHub(mqClient)
appCache := cache.New(cfg.Cache.Driver, rdb)
if cfg.Server.Mode == "release" {