Comments (5)
Hi @ehuebner!
Thanks for your question.
What happens if you express this with a list of pipeline expressions:
system = System(pipes=[
[AppA, AppC],
[AppB, AppC],
[AppC, AppD],
[AppA, AppD],
])
Does that work to accomplish what you desire?
Please note, the indeterminacy in AppC and AppD that is introduced by the fact that they are each processing event notifications from more than one log. Sometimes this indeterminacy doesn't matter, but with careful consideration it's often possible to arrange things such that this kind of indeterminacy isn't introduced by design. Please feel free to email me if you would like to discuss your project in detail.
Of course, please don't hesitate to post here any further questions you may have about the library. There's also a Slack workspace for this library, with a friendly community, which you are welcome to join (there's an invitation link on the README page and in the docs).
from eventsourcing.
I have already tried it and it did not work.
My Event of AppB uses Transcodings for some custom event attributes. Recording the events & snapshotting works fine, but the policy not. Now I tried producing an event with setting the custom event attributes of B to None
the policy of AppC is now triggered. But this works only without using Transcodings.
Do you have any idea that explains that behaviour?
from eventsourcing.
Do you need also to add the transcodings to the applications that are processing the events that are stored using custom transcodings?
Do you get any exceptions that might be useful for me to see?
from eventsourcing.
I only implemented the transcoder in AppB and not in AppC. But now that you say it, it makes total sense to me to have the transcoder & transcoding implemented on both sides.
There was no exception thrown, that is why I also thought the way you suggested in your answer is the wrong way. It is just silently not working when the application that implements the policy does not know the transcodings.
from eventsourcing.
@ehuebner I'm glad you got it working! Well done.
I'm very interested to understand how this error was silent. I've been investigating, and can see exceptions being raised in test output, when I arrange things to be broken in this way. Please can you replicate what you are doing so I can understand your experience?
from eventsourcing.
Related Issues (20)
- Question: how to make domain event listener without making another aggregate HOT 2
- MongoDB EventStore support. HOT 2
- Question: Any intention to extend/fork this library to async? HOT 7
- Postgres does not accept idle_in_transaction_session_timeout as float string HOT 2
- Postgres schema change possibility HOT 5
- Investigating potential problem when saving events for multiple aggregates HOT 2
- Custom Postgres schema breaks followers HOT 3
- Aggregate Not Found when AGGREGATE_CACHE_MAXSIZE not set HOT 13
- monotonic HOT 2
- support postgresql as alias for postgres persistence module HOT 3
- Support for rabbitmq HOT 10
- Best way to befriend sqlalchemy database and eventsourcing HOT 6
- Is it necessary to re-hydrate an aggregate to check it exists in a repository? HOT 4
- Suggested approach to Entities in 9.x? HOT 1
- Slack invite not working HOT 3
- Snapshot in aggregate8 example won't work for custom object in aggregate HOT 8
- `Follower(Application)` does not call `self.construct_mapper()` HOT 5
- Additional examples HOT 2
- How to set aggregate/application state for tests? HOT 1
- Automatic snapshotting not work for functional style aggregate HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eventsourcing.