From 9150479038e7fa55be6185e70ce7a8b6e3479823 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Wed, 14 Oct 2026 17:04:42 +0300 Subject: [PATCH] fix: annotate TimersBroker._subscribers as WeakSet for ty 0.0.87 --- faststream_redis_timers/broker.py | 5 ++--- faststream_redis_timers/publisher/config.py | 2 +- faststream_redis_timers/subscriber/config.py | 2 +- faststream_redis_timers/subscriber/usecase.py | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/faststream_redis_timers/broker.py b/faststream_redis_timers/broker.py index 91a905f..8ec9e5a 100644 --- a/faststream_redis_timers/broker.py +++ b/faststream_redis_timers/broker.py @@ -2,6 +2,7 @@ import typing from collections.abc import Iterable, Sequence from datetime import datetime, timedelta +from weakref import WeakSet from fast_depends.dependencies import Dependant from faststream import BaseMiddleware @@ -25,7 +26,6 @@ from faststream_redis_timers.configs import ConnectionState, RedisClient, TimersBrokerConfig from faststream_redis_timers.message import TimerMessage from faststream_redis_timers.publisher.producer import TimersProducer -from faststream_redis_timers.publisher.usecase import TimersPublisher from faststream_redis_timers.registrator import TimersRegistrator from faststream_redis_timers.response import TimerPublishCommand, resolve_activate_at from faststream_redis_timers.store import TimerStore @@ -109,8 +109,7 @@ class TimersBroker( brokers; making the broker close it would break that pattern. """ - _subscribers: list[TimersSubscriber] - _publishers: list[TimersPublisher] + _subscribers: WeakSet[TimersSubscriber] # ty: ignore[invalid-attribute-override] @property @override diff --git a/faststream_redis_timers/publisher/config.py b/faststream_redis_timers/publisher/config.py index 1b83a0a..dcccbb0 100644 --- a/faststream_redis_timers/publisher/config.py +++ b/faststream_redis_timers/publisher/config.py @@ -10,7 +10,7 @@ @dataclass(kw_only=True) class TimersPublisherConfig(PublisherUsecaseConfig): - _outer_config: "TimersBrokerConfig" + _outer_config: "TimersBrokerConfig" # ty: ignore[invalid-mutable-override] topic: str @property diff --git a/faststream_redis_timers/subscriber/config.py b/faststream_redis_timers/subscriber/config.py index 8e4dbf7..ad2b874 100644 --- a/faststream_redis_timers/subscriber/config.py +++ b/faststream_redis_timers/subscriber/config.py @@ -13,7 +13,7 @@ @dataclass(kw_only=True) class TimersSubscriberConfig(SubscriberUsecaseConfig): - _outer_config: "TimersBrokerConfig" + _outer_config: "TimersBrokerConfig" # ty: ignore[invalid-mutable-override] timer_sub: TimerSub @property diff --git a/faststream_redis_timers/subscriber/usecase.py b/faststream_redis_timers/subscriber/usecase.py index 8faaa8d..88d1d35 100644 --- a/faststream_redis_timers/subscriber/usecase.py +++ b/faststream_redis_timers/subscriber/usecase.py @@ -55,7 +55,7 @@ def get_schema(self) -> dict[str, SubscriberSpec]: class TimersSubscriber(TasksMixin, SubscriberUsecase[TimerMessage]): - _outer_config: "TimersBrokerConfig" + _outer_config: "TimersBrokerConfig" # ty: ignore[invalid-mutable-override] def __init__( self,