Files
nuki_hub/lib/PsychicHttp/benchmark/eventsource-client-test.js
2024-12-30 14:37:09 +01:00

40 lines
975 B
JavaScript

#!/usr/bin/env node
//stress test the client opening/closing code
const EventSource = require('eventsource');
const url = 'http://psychic.local/events';
async function eventSourceClient() {
console.log(`Starting test`);
for (let i = 0; i < 1000000; i++)
{
if (i % 100 == 0)
console.log(`Count: ${i}`);
let eventSource = new EventSource(url);
eventSource.onopen = () => {
//console.log('EventSource connection opened.');
};
eventSource.onerror = (error) => {
console.error('EventSource error:', error);
// Close the connection on error
eventSource.close();
};
await new Promise((resolve) => {
eventSource.onmessage = (event) => {
//console.log('Received message:', event.data);
// Close the connection after receiving the first message
eventSource.close();
resolve();
}
});
}
}
eventSourceClient();