Architecture Patterns with Python by Harry Percival

Architecture Patterns with Python by Harry Percival

Author:Harry Percival
Language: eng
Format: epub
Publisher: O'Reilly Media
Published: 2020-03-09T16:00:00+00:00


We pop events from the front of the queue and invoke their handlers (the HANDLERS dict hasn’t changed; it still maps event types to handler functions).

The message bus passes the UoW down to each handler.

After each handler finishes, we collect any new events that have been generated and add them to the queue.

In unit_of_work.py, publish_events() becomes a less active method, collect_new_events():

UoW no longer puts events directly on the bus (src/allocation/service_layer/unit_of_work.py)

-from . import messagebus - class AbstractUnitOfWork(abc.ABC): @@ -23,13 +21,11 @@ class AbstractUnitOfWork(abc.ABC): def commit(self): self._commit() - self.publish_events() - def publish_events(self): + def collect_new_events(self): for product in self.products.seen: while product.events: - event = product.events.pop(0) - messagebus.handle(event) + yield product.events.pop(0)



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.