1818
1919from __future__ import annotations
2020
21+ from typing import TYPE_CHECKING , Any , Callable , Optional
22+
23+ if TYPE_CHECKING :
24+ from ..actor import Actor
25+ from ..broker import Broker , MessageProxy
26+ from ..message import Message
27+ from ..worker import Worker , _ConsumerThread , _WorkerThread
28+
2129
2230class MiddlewareError (Exception ):
2331 """Base class for middleware errors."""
@@ -36,39 +44,39 @@ class Middleware:
3644 """
3745
3846 @property
39- def actor_options (self ):
47+ def actor_options (self ) -> set [ str ] :
4048 """The set of options that may be configured on each actor."""
4149 return set ()
4250
4351 @property
44- def forks (self ):
52+ def forks (self ) -> list [ Callable [[], int ]] :
4553 """A list of functions to run in separate forks of the main
4654 process.
4755 """
4856 return []
4957
50- def before_ack (self , broker , message ) :
58+ def before_ack (self , broker : Broker , message : MessageProxy ) -> None :
5159 """Called before a message is acknowledged."""
5260
53- def after_ack (self , broker , message ) :
61+ def after_ack (self , broker : Broker , message : MessageProxy ) -> None :
5462 """Called after a message has been acknowledged."""
5563
56- def before_nack (self , broker , message ) :
64+ def before_nack (self , broker : Broker , message : MessageProxy ) -> None :
5765 """Called before a message is rejected."""
5866
59- def after_nack (self , broker , message ) :
67+ def after_nack (self , broker : Broker , message : MessageProxy ) -> None :
6068 """Called after a message has been rejected."""
6169
62- def before_declare_actor (self , broker , actor ) :
70+ def before_declare_actor (self , broker : Broker , actor : Actor ) -> None :
6371 """Called before an actor is declared."""
6472
65- def after_declare_actor (self , broker , actor ) :
73+ def after_declare_actor (self , broker : Broker , actor : Actor ) -> None :
6674 """Called after an actor has been declared."""
6775
68- def before_declare_queue (self , broker , queue_name ) :
76+ def before_declare_queue (self , broker : Broker , queue_name : str ) -> None :
6977 """Called before a queue is declared."""
7078
71- def after_declare_queue (self , broker , queue_name ) :
79+ def after_declare_queue (self , broker : Broker , queue_name : str ) -> None :
7280 """Called after a queue has been declared.
7381
7482 This signals that the queue has been registered with the
@@ -78,19 +86,19 @@ def after_declare_queue(self, broker, queue_name):
7886 them until messages are enqueued or consumed.
7987 """
8088
81- def after_declare_delay_queue (self , broker , queue_name ) :
89+ def after_declare_delay_queue (self , broker : Broker , queue_name : str ) -> None :
8290 """Called after a delay queue has been declared."""
8391
84- def before_enqueue (self , broker , message , delay ) :
92+ def before_enqueue (self , broker : Broker , message : Message , delay : int ) -> None :
8593 """Called before a message is enqueued."""
8694
87- def after_enqueue (self , broker , message , delay ) :
95+ def after_enqueue (self , broker : Broker , message : Message , delay : int ) -> None :
8896 """Called after a message has been enqueued."""
8997
90- def before_delay_message (self , broker , message ) :
98+ def before_delay_message (self , broker : Broker , message : MessageProxy ) -> None :
9199 """Called before a message has been delayed in worker memory."""
92100
93- def before_process_message (self , broker , message ) :
101+ def before_process_message (self , broker : Broker , message : MessageProxy ) -> None :
94102 """Called before a message is processed.
95103
96104 Raises:
@@ -99,42 +107,49 @@ def before_process_message(self, broker, message):
99107 of ``after_process_message``.
100108 """
101109
102- def after_process_message (self , broker , message , * , result = None , exception = None ):
110+ def after_process_message (
111+ self ,
112+ broker : Broker ,
113+ message : MessageProxy ,
114+ * ,
115+ result : Optional [Any ] = None ,
116+ exception : Optional [BaseException ] = None ,
117+ ) -> None :
103118 """Called after a message has been processed."""
104119
105- def after_skip_message (self , broker , message ) :
120+ def after_skip_message (self , broker : Broker , message : MessageProxy ) -> None :
106121 """Called instead of ``after_process_message`` after a message
107122 has been skipped.
108123 """
109124
110- def after_process_boot (self , broker ) :
125+ def after_process_boot (self , broker : Broker ) -> None :
111126 """Called immediately after subprocess start up."""
112127
113- def before_worker_boot (self , broker , worker ) :
128+ def before_worker_boot (self , broker : Broker , worker : Worker ) -> None :
114129 """Called before the worker process starts up."""
115130
116- def after_worker_boot (self , broker , worker ) :
131+ def after_worker_boot (self , broker : Broker , worker : Worker ) -> None :
117132 """Called after the worker process has started up."""
118133
119- def before_worker_shutdown (self , broker , worker ) :
134+ def before_worker_shutdown (self , broker : Broker , worker : Worker ) -> None :
120135 """Called before the worker process shuts down."""
121136
122- def after_worker_shutdown (self , broker , worker ) :
137+ def after_worker_shutdown (self , broker : Broker , worker : Worker ) -> None :
123138 """Called after the worker process shuts down."""
124139
125- def after_consumer_thread_boot (self , broker , thread ) :
140+ def after_consumer_thread_boot (self , broker : Broker , thread : _ConsumerThread ) -> None :
126141 """Called from a consumer thread after it starts but before it starts its run loop."""
127142
128- def before_consumer_thread_shutdown (self , broker , thread ) :
143+ def before_consumer_thread_shutdown (self , broker : Broker , thread : _ConsumerThread ) -> None :
129144 """Called before a consumer thread shuts down. This may be
130145 used to clean up thread-local resources (such as Django
131146 database connections).
132147 """
133148
134- def after_worker_thread_boot (self , broker , thread ) :
149+ def after_worker_thread_boot (self , broker : Broker , thread : _WorkerThread ) -> None :
135150 """Called from a worker thread after it starts but before it starts its run loop."""
136151
137- def before_worker_thread_shutdown (self , broker , thread ) :
152+ def before_worker_thread_shutdown (self , broker : Broker , thread : _WorkerThread ) -> None :
138153 """Called before a worker thread shuts down. This may be used
139154 to clean up thread-local resources (such as Django database
140155 connections).
0 commit comments