File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,8 @@ You can send delayed messages and set priorities to messages using labels.
2020
2121## Delays
2222
23+ ### ** Default retries**
24+
2325To send delayed message, you have to specify
2426delay label. You can do it with ` task ` decorator,
2527or by using kicker. For example:
@@ -48,6 +50,33 @@ async def main():
4850 # have to wait delay period before message is going to be sent.
4951```
5052
53+ ### ** Retries with ` rabbitmq-delayed-message-exchange ` plugin**
54+
55+ To send delayed message you can install ` rabbitmq-delayed-message-exchange `
56+ plugin https://github.com/rabbitmq/rabbitmq-delayed-message-exchange .
57+
58+ And you need to configure you broker.
59+ There is ` delayed_message_exchange_plugin ` ` AioPikaBroker ` parameter and it must be ` True ` to turn on delayed message functionality. For example:
60+
61+ ``` python
62+ broker = AioPikaBroker(
63+ delayed_message_exchange_plugin = True ,
64+ )
65+
66+ @broker.task (delay = 3 )
67+ async def delayed_task () -> int :
68+ return 1
69+
70+ async def main ():
71+ await broker.startup()
72+ # This message will be received by workers
73+ # After 3 seconds delay.
74+ await delayed_task.kiq()
75+
76+ # This message is going to be received after the delay in 4 seconds.
77+ # Since we overriden the `delay` label using kicker.
78+ await delayed_task.kicker().with_labels(delay = 4 ).kiq()
79+ ```
5180
5281## Priorities
5382
You can’t perform that action at this time.
0 commit comments