Record resolving order in the sequencer and start modules based on that #245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Presently, the sequencer uses
tsyringe
to resolve modules (and their dependencies) and then starts them. However, this can be problematic as althoughtsyringe
may resolve dependencies, it doesn't actually start them. For example, a database may be created, but the connection strings, etc, won't be constructed until it's started, and this may cause an error if a module that relies on it is started first. The way to resolve this is ensure that we start modules based on the order they were resolved.