1
1
import typing
2
2
import warnings
3
3
4
+ import anyio
4
5
from faststream ._compat import TypeAlias , override
5
6
from faststream .app import FastStream
6
7
from faststream .broker .core .asyncronous import BrokerAsyncUsecase
@@ -23,8 +24,8 @@ class BrokerWrapper(AsyncBroker):
23
24
24
25
Methods:
25
26
__init__ : Initializes the object.
26
- startup : Startup wrapper FastStream broker.
27
- shutdown : Shutdown wrapper FastStream broker.
27
+ startup : Startup wrapped FastStream broker.
28
+ shutdown : Shutdown wrapped FastStream broker.
28
29
kick : Call wrapped FastStream broker `publish` method.
29
30
task : Register FastStream scheduled task.
30
31
"""
@@ -34,12 +35,12 @@ def __init__(self, broker: BrokerAsyncUsecase[typing.Any, typing.Any]) -> None:
34
35
self .broker = broker
35
36
36
37
async def startup (self ) -> None :
37
- """Startup wrapper FastStream broker."""
38
+ """Startup wrapped FastStream broker."""
38
39
await super ().startup ()
39
40
await self .broker .start ()
40
41
41
42
async def shutdown (self ) -> None :
42
- """Shutdown wrapper FastStream broker."""
43
+ """Shutdown wrapped FastStream broker."""
43
44
await self .broker .close ()
44
45
await super ().shutdown ()
45
46
@@ -51,17 +52,17 @@ async def listen(
51
52
self ,
52
53
) -> typing .AsyncGenerator [typing .Union [bytes , AckableMessage ], None ]:
53
54
"""Not supported method."""
54
- warnings .warn (
55
- message = (
56
- f"{ self .__class__ .__name__ } doesn't support `listen` method. "
57
- "Please, use it only to register a task."
58
- ),
59
- category = RuntimeWarning ,
60
- stacklevel = 1 ,
61
- )
62
-
63
55
while True :
56
+ warnings .warn (
57
+ message = (
58
+ f"{ self .__class__ .__name__ } doesn't support `listen` method. "
59
+ "Please, use it only to register a task."
60
+ ),
61
+ category = RuntimeWarning ,
62
+ stacklevel = 1 ,
63
+ )
64
64
yield b""
65
+ await anyio .sleep (60 )
65
66
66
67
@override
67
68
def task ( # type: ignore[override]
@@ -98,8 +99,8 @@ class AppWrapper(BrokerWrapper):
98
99
99
100
Methods:
100
101
__init__ : Initializes the object.
101
- startup : Startup wrapper FastStream.
102
- shutdown : Shutdown wrapper FastStream.
102
+ startup : Startup wrapped FastStream.
103
+ shutdown : Shutdown wrapped FastStream.
103
104
kick : Call wrapped FastStream broker `publish` method.
104
105
task : Register FastStream scheduled task.
105
106
"""
@@ -109,12 +110,12 @@ def __init__(self, app: FastStream) -> None:
109
110
self .app = app
110
111
111
112
async def startup (self ) -> None :
112
- """Startup wrapper FastStream broker ."""
113
+ """Startup wrapped FastStream."""
113
114
await super (BrokerWrapper , self ).startup ()
114
115
await self .app ._startup () # noqa: SLF001
115
116
116
117
async def shutdown (self ) -> None :
117
- """Shutdown wrapper FastStream broker ."""
118
+ """Shutdown wrapped FastStream."""
118
119
await self .app ._shutdown () # noqa: SLF001
119
120
await super (BrokerWrapper , self ).shutdown ()
120
121
0 commit comments