-
Notifications
You must be signed in to change notification settings - Fork 6
When running exo setup make sure services define compatible messages. #323
Comments
Hey @stefansavev-o! This feature is already implemented via the
Moving forward, we have to extract this command out of Exopshere and make it part of Exocom. But for the time being, it should hopefully help with some of the headaches you are experiencing. |
Sorry that this wasn't documented. We really have to give documentation more love moving forward. |
Thanks Kevin! I'll use that. |
You could run something like |
Yes, let's make the old |
@kevgo the more important question for this repo is whether or not we want to add a pre-run step to |
That's another great idea! |
On the other hand, I don't think running linters in production is a good idea. An application must be starting in production as it is, whether there are broken tests or linters or not. In that regard, the linter should be a part of the test suite, not the application startup routine. Maybe only run the lintersn before exo-run in dev mode? |
exo-run is dev only as far as I know. It won't be used in deployment |
True. |
Closing this in favor of #452 |
This is one bottleneck when I faced developing multiple services.
There were discrepancies between the message names, e.g. one service would define product.list while another one will expect product.lists. If this can be tackled by a warning it will be very useful.
But the large point is that I want 'typesafe' messages. For example https://www.w3.org/TR/wsdl defines message format. A tool in big data for defining message formats is https://developers.google.com/protocol-buffers/. My point is a feature that enforces message formats at
exo setup
time will improve productivity and there are precedents for this.When you boot the service it can also check the formats at run time.
We can also have versions of the formats.
Also: warnings for unconsumed messages, duplicate consumed messages and non-present messages.
The text was updated successfully, but these errors were encountered: