{"repo":"juntossomosmais/django-outbox-pattern","free":true,"listed":false,"github":"https://github.com/juntossomosmais/django-outbox-pattern","clone":"git clone https://github.com/juntossomosmais/django-outbox-pattern.git","description":"A django application to make it easier to use the transactional outbox pattern","language":"Python","stars":58,"topics":["microservices","application-events","transactional-outbox-patterns","python","django"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Django outbox pattern A django application to make it easier to use the transactional outbox pattern Installation Install django-outbox-pattern with pip Add to settings Rum migrations Usage/Examples The publish decorator adds the outbox table to the model. publish accepts list of Config. The Config accepts four params the destination which is required, fields which the default are all the fields of the model, serializer which by default adds the id in the message to be sent and version which by default is empty. Note: fields and serializer are mutually exclusive, serializer overwrites the fields. The Config typing Only destination in config This generates the following data to be sent. Change destination version in config This generates the following data to be sent. With destinations and fields This generates the following data to be sent. With destinations and serializer This generates the following data to be sent. With multi destinations and serializers This generates the following data to be sent. Publish/Subscribe commands Publish command To send the messages added to the Published model it is necessary to start the producer with the following command. Publish message via outbox It is possible to use the outbox pattern with a custom logic before sending the message to the outbox table. With this you can ensure that the messages can be published in the same database transaction of your business logic. Publish message directly It is possible to send messages directly with","default_branch":null,"files":null,"tree":[],"storefront":"/r/juntossomosmais","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/juntossomosmais/django-outbox-pattern/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}