Skip to content

Commit bc66377

Browse files
committed
Added more information to README
1 parent ef6e781 commit bc66377

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
2325
To send delayed message, you have to specify
2426
delay label. You can do it with `task` decorator,
2527
or 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

0 commit comments

Comments
 (0)