Wait till all node_helper are started before finishing startup (#2928)

In response to #2487 this implements a Promise.all for the node_helper
start calls

Co-authored-by: veeck <michael@veeck.de>
This commit is contained in:
Veeck 2022-10-13 21:38:04 +02:00 committed by GitHub
parent 1eb2965b2b
commit 7bbf8c19db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 5 deletions

View File

@ -23,6 +23,7 @@ Special thanks to: @rejas, @sdetweil
### Updated ### Updated
- Cleaned up test directory - Cleaned up test directory
- Wait for all modules to start before declaring the system ready (#2487)
- Updated e2e tests (moved `done()` in helper functions) and use es6 syntax in all tests - Updated e2e tests (moved `done()` in helper functions) and use es6 syntax in all tests
- Updated da translation - Updated da translation
- Rework weather module - Rework weather module

View File

@ -226,17 +226,21 @@ function App() {
httpServer = new Server(config, function (app, io) { httpServer = new Server(config, function (app, io) {
Log.log("Server started ..."); Log.log("Server started ...");
const nodePromises = [];
for (let nodeHelper of nodeHelpers) { for (let nodeHelper of nodeHelpers) {
nodeHelper.setExpressApp(app); nodeHelper.setExpressApp(app);
nodeHelper.setSocketIO(io); nodeHelper.setSocketIO(io);
nodeHelper.start(); nodePromises.push(nodeHelper.start());
} }
Log.log("Sockets connected & modules started ..."); Promise.allSettled(nodePromises).then(() => {
Log.log("Sockets connected & modules started ...");
if (typeof callback === "function") { if (typeof callback === "function") {
callback(config); callback(config);
} }
});
}); });
}); });
}); });