@@ -4,7 +4,7 @@ Message lifecycle
44=================
55.. warning ::
66
7- Expiration, retrying and dead letter supports only ``RabbitMQTransport `` (on by default).
7+ Expiration, retrying and ' dead letters' queueing supported in ``RabbitMQTransport `` only (** on ** by default).
88
99`django-cqrs ` since version 1.11 provides mechanism for reliable message delivery.
1010
@@ -14,11 +14,11 @@ Message lifecycle
1414
1515Expiration
1616----------
17- +------------------+------------+-------------------------------------------------------------------------------------------------- +
18- | Name | Default | Description |
19- +==================+============+================================================================================================== +
20- | CQRS_MESSAGE_TTL | 86400 | Limits message lifetime in **seconds **, after that period it will be moved to dead letter queue. |
21- +------------------+------------+-------------------------------------------------------------------------------------------------- +
17+ +------------------+------------+---------------------------------------------------------------------------------------------+
18+ | Name | Default | Description |
19+ +==================+============+=============================================================================================+
20+ | CQRS_MESSAGE_TTL | 86400 | Limits message lifetime in **seconds **, then it will be moved to ' dead letters' queue. |
21+ +------------------+------------+---------------------------------------------------------------------------------------------+
2222
2323.. code-block :: python
2424
@@ -33,7 +33,7 @@ Expiration
3333
3434 Fail
3535----
36- Message is failed when consume raises any exception or returns negative boolean value (False, None).
36+ Message assumed as failed when a consumer raises an exception or returns negative boolean value (* False *, * None *, etc ).
3737
3838.. code-block :: python
3939
@@ -45,23 +45,22 @@ Message is failed when consume raises any exception or returns negative boolean
4545
4646 @ classmethod
4747 def cqrs_create (cls , sync , mapped_data , previous_data = None ):
48- raise Exception (" Some issue during create" ) # exception could be caught at should_retry_cqrs method
48+ raise Exception (" Some issue during create" ) # exception could be caught at should_retry_cqrs() method
4949
50- @ classmethod
5150 def cqrs_update (self , sync , mapped_data , previous_data = None ):
52- return None # returning negative boolean triggers retrying
51+ return None # returning negative boolean for retrying
5352
5453 Retrying
5554--------
56- +----------------------+----------+----------------------------------------------------------------------------+
57- | Name | Default | Description |
58- +======================+==========+============================================================================+
59- | CQRS_MAX_RETRIES | 30 | Maximum number of retry attempts. Infinite if None, 0 for retry disabling . |
60- +----------------------+----------+----------------------------------------------------------------------------+
61- | CQRS_RETRY_DELAY | 2 | Constant delay in **seconds ** between message fail and requeue. |
62- +----------------------+----------+----------------------------------------------------------------------------+
63- | delay_queue_max_size | None | Maximum number of delayed messages per worker. Infinite if None. |
64- +----------------------+----------+----------------------------------------------------------------------------+
55+ +----------------------+----------+----------------------------------------------------------------------------- +
56+ | Name | Default | Description |
57+ +======================+==========+============================================================================= +
58+ | CQRS_MAX_RETRIES | 30 | Maximum number of retry attempts. Infinite if * None * , 0 to disable retries . |
59+ +----------------------+----------+----------------------------------------------------------------------------- +
60+ | CQRS_RETRY_DELAY | 2 | Constant delay in **seconds ** between message failure and requeueing. |
61+ +----------------------+----------+----------------------------------------------------------------------------- +
62+ | delay_queue_max_size | * None * | Maximum number of delayed messages per worker. Infinite if * None *. |
63+ +----------------------+----------+----------------------------------------------------------------------------- +
6564
6665.. code-block :: python
6766
@@ -78,7 +77,7 @@ Retrying
7877
7978 Customization
8079^^^^^^^^^^^^^
81- The :class: `dj_cqrs.mixins.ReplicaMixin ` allows to set retrying behaviour manually .
80+ The :class: `dj_cqrs.mixins.ReplicaMixin ` allows to take full control on retrying .
8281
8382.. code-block :: python
8483
@@ -101,17 +100,17 @@ The :class:`dj_cqrs.mixins.ReplicaMixin` allows to set retrying behaviour manual
101100 or isinstance (exception, django.db.OperationalError)
102101 )
103102
104- Dead letter
105- -----------
106- Expired or failed messages which should not be retried moved to dead letter queue.
103+ Dead letters
104+ ------------
105+ Expired or failed messages which should not be retried are moved to ' dead letters' queue.
107106
108- +-------------------+------------------------+----------------------------------------------------+
109- | Name | Default | Description |
110- +===================+========================+====================================================+
111- | dead_letter_queue | dead_letter + queue | Queue name for dead letter messages. |
112- +-------------------+------------------------+----------------------------------------------------+
113- | dead_message_ttl | 864000 | Expiration **seconds **. Infinite if None. |
114- +-------------------+------------------------+----------------------------------------------------+
107+ +-------------------+------------------------- +----------------------------------------------------+
108+ | Name | Default | Description |
109+ +===================+========================= +====================================================+
110+ | dead_letter_queue | ' dead_letter\_ ' + queue | Queue name for dead letters. |
111+ +-------------------+------------------------- +----------------------------------------------------+
112+ | dead_message_ttl | 864000 | Expiration **seconds **. Infinite if * None *. |
113+ +-------------------+------------------------- +----------------------------------------------------+
115114
116115.. code-block :: python
117116
@@ -122,7 +121,7 @@ Expired or failed messages which should not be retried moved to dead letter queu
122121 ' queue' : ' example' ,
123122 ' replica' : {
124123 ...
125- ' dead_letter_queue' : ' dead_letter_example' , # generates from CQRS.queue
124+ ' dead_letter_queue' : ' dead_letter_example' , # generated from CQRS.queue
126125 ' dead_message_ttl' : 864000 , # 10 days
127126 },
128127 }
0 commit comments