Skip to the content.

Task 67 — Redis/Valkey coordination backend

Phase: 4 Initiative: 27 Status: done Owner: — Slug: redis-coordination-backend

Goal

Опциональный RESP-совместимый in-memory бэкенд (Redis или Valkey) даёт working memory, distributed locks и эфемерные очереди для координации при высокой concurrency. Durable truth остаётся в SQLite/PostgreSQL. Бэкенд активируется профилем развёртывания, не обязан быть запущен.

Acceptance criteria

Sub-tasks

Implementation notes

2026-08-14

src/agent/Mesh/Backends/Redis/RedisMeshConfig.cs — 9 properties: Enabled, ConnectionString, KeyPrefix, ChannelPrefix, DefaultTtlSeconds, DefaultVisibilityTimeoutSec, UseKeyspaceNotifications, WatchPollingIntervalMs.

src/agent/Mesh/Backends/Redis/RedisMeshBus.cs — RESP pub/sub bus:

src/agent/Mesh/Backends/Redis/RedisMeshStateStore.cs — distributed KV store:

src/agent/Mesh/Backends/Redis/RedisTaskQueue.cs — durable queue:

src/agent/Config/AppConfig.cs — added Redis property of type Hercules.Mesh.Backends.Redis.RedisMeshConfig.

src/agent/Mesh/MeshServiceExtensions.cs — added using Hercules.Mesh.Backends.Redis and using StackExchange.Redis; RegisterMeshBackends helper registers Redis backends (bus, queue, state store) when appConfig.Redis.Enabled or active profile is Redis.

src/agent/Hercules.csproj — added StackExchange.Redis 2.8.16 NuGet package.

Validation

Scope / Likely files

src/agent/Mesh/Backends/Redis/, src/agent/Mesh/Backends/Redis/RedisMeshBus.cs, src/agent/Mesh/Backends/Redis/RedisTaskQueue.cs

Dependencies

Risks / Rollback

Зависимость от внешнего сервиса; graceful degradation в in-process режим при недоступности.