min_idle_time not fire XAUTOCLAIM #2660
|
Hello, I am trying to use Currently, if an exception is raised during processing, the message correctly remains in the Based on the documentation, I expected Am I missing something in my configuration? Here is my reproduction script: # main.py
import asyncio
from faststream import FastStream, Logger
from faststream.redis import RedisBroker, StreamSub
broker = RedisBroker("redis://localhost:6379/0")
app = FastStream(broker)
@broker.subscriber(
stream=StreamSub(
"orders",
group="processors",
consumer="processor-1",
)
)
async def handle(order_id: str, logger: Logger):
logger.info(f"Processing order {order_id} by main handler")
# Simulating an error to leave the message pending
raise RuntimeError("Simulated error processing order")
@broker.subscriber(
stream=StreamSub(
"orders",
group="processors",
consumer="processor-2",
min_idle_time=5000,
)
)
async def claiming(order_id: str, logger: Logger):
logger.info(f"Processing order {order_id} by claiming handler")
@app.after_startup
async def publish_test():
# Give it a moment to ensure subscribers are ready
await asyncio.sleep(1)
await broker.publish("order-123", stream="orders")I am running # docker-compose.yml
services:
redis:
image: redis:8-alpine
container_name: search-indexer-redis
ports:
- "6379:6379"
# ... (healthcheck omitted for brevity if standard)When I run the worker with 11:45:28.846 [0 192.168.127.1:45453] "XREADGROUP" "GROUP" "processors" "processor-1" "BLOCK" "100" "STREAMS" "orders" ">"
11:45:28.846 [0 192.168.127.1:25069] "XREADGROUP" "GROUP" "processors" "processor-2" "BLOCK" "100" "STREAMS" "orders" ">"
...Any help would be appreciated. Thanks! |
Replies: 1 comment 1 reply
|
The problem was solved on #2628. Waiting for the next release 🙏🏼 😄 |
Solved on release 0.6.4