Files
AquaMasterMQTT/mock-server/start_all.js
Carsten Graf a67e29b9e4
Some checks failed
/ build (push) Has been cancelled
Add DevServer (brokern)
2026-01-24 15:08:14 +01:00

48 lines
1.2 KiB
JavaScript

const { spawn } = require('child_process');
const path = require('path');
console.log('Starting AquaMaster Mock Server...\n');
// Start MQTT Broker
console.log('[1/2] Starting MQTT Broker...');
const mqttBroker = spawn('node', [path.join(__dirname, 'mqtt_broker.js')], {
stdio: 'inherit',
cwd: __dirname
});
mqttBroker.on('error', (err) => {
console.error('Failed to start MQTT Broker:', err);
process.exit(1);
});
// Wait a bit longer for MQTT broker to fully start
setTimeout(() => {
// Start Mock ESP32 Server
console.log('[2/2] Starting Mock ESP32 Server...');
const mockServer = spawn('node', [path.join(__dirname, 'mock_esp32_server.js')], {
stdio: 'inherit',
cwd: __dirname
});
mockServer.on('error', (err) => {
console.error('Failed to start Mock ESP32 Server:', err);
mqttBroker.kill();
process.exit(1);
});
// Handle shutdown
const shutdown = () => {
console.log('\nShutting down servers...');
if (mqttBroker && !mqttBroker.killed) {
mqttBroker.kill();
}
if (mockServer && !mockServer.killed) {
mockServer.kill();
}
process.exit(0);
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
}, 3000); // Increased wait time to 3 seconds