@vpalmisano/webrtcperf 4.8.7 → 4.8.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.min.js +1 -1
- package/build/src/app.js +7 -1
- package/build/src/app.js.map +1 -1
- package/build/src/utils.d.ts +1 -0
- package/build/src/utils.js +18 -11
- package/build/src/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/app.ts +9 -1
- package/src/utils.ts +18 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vpalmisano/webrtcperf",
|
|
3
|
-
"version": "4.8.
|
|
3
|
+
"version": "4.8.9",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/vpalmisano/webrtcperf.git"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@google/genai": "^1.52.0",
|
|
55
55
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
56
56
|
"@puppeteer/browsers": "^3.0.4",
|
|
57
|
-
"@vpalmisano/throttler": "0.0.
|
|
57
|
+
"@vpalmisano/throttler": "0.0.15",
|
|
58
58
|
"@vpalmisano/webrtcperf-js": "^1.4.3",
|
|
59
59
|
"axios": "^1.15.2",
|
|
60
60
|
"chalk-template": "^1.1.2",
|
package/src/app.ts
CHANGED
|
@@ -13,7 +13,9 @@ import {
|
|
|
13
13
|
getDockerLogsPath,
|
|
14
14
|
logger,
|
|
15
15
|
registerExitHandler,
|
|
16
|
+
handleExitSignals,
|
|
16
17
|
resolvePackagePath,
|
|
18
|
+
runExitHandlersNow,
|
|
17
19
|
sleep,
|
|
18
20
|
startRandomActivateAudio,
|
|
19
21
|
stopRandomActivateAudio,
|
|
@@ -236,6 +238,7 @@ export class Application extends EventEmitter {
|
|
|
236
238
|
*/
|
|
237
239
|
async function main(): Promise<void> {
|
|
238
240
|
showHelpOrVersion()
|
|
241
|
+
handleExitSignals()
|
|
239
242
|
|
|
240
243
|
process.argv = process.argv.slice(2)
|
|
241
244
|
|
|
@@ -301,7 +304,12 @@ async function main(): Promise<void> {
|
|
|
301
304
|
i++
|
|
302
305
|
runNext()
|
|
303
306
|
} else {
|
|
304
|
-
|
|
307
|
+
runExitHandlersNow()
|
|
308
|
+
.then(() => process.exit(0))
|
|
309
|
+
.catch(err => {
|
|
310
|
+
log.error(`runExitHandlersNow error: ${(err as Error).stack}`)
|
|
311
|
+
process.exit(1)
|
|
312
|
+
})
|
|
305
313
|
}
|
|
306
314
|
})
|
|
307
315
|
return application.start()
|
package/src/utils.ts
CHANGED
|
@@ -515,7 +515,10 @@ let runExitHandlersPromise: Promise<void> | null = null
|
|
|
515
515
|
*/
|
|
516
516
|
export async function runExitHandlersNow(signal?: string): Promise<void> {
|
|
517
517
|
if (!runExitHandlersPromise) {
|
|
518
|
+
log.debug(`runExitHandlersNow signal: ${signal}`)
|
|
518
519
|
runExitHandlersPromise = runExitHandlers(signal)
|
|
520
|
+
} else {
|
|
521
|
+
log.debug(`runExitHandlersNow signal: ${signal} already running`)
|
|
519
522
|
}
|
|
520
523
|
await runExitHandlersPromise
|
|
521
524
|
stopTimers()
|
|
@@ -538,18 +541,21 @@ const SIGNALS = [
|
|
|
538
541
|
'SIGUSR2',
|
|
539
542
|
'SIGTERM',
|
|
540
543
|
]
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
process.
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
)
|
|
544
|
+
|
|
545
|
+
export function handleExitSignals(): void {
|
|
546
|
+
process.setMaxListeners(process.getMaxListeners() + SIGNALS.length)
|
|
547
|
+
SIGNALS.forEach(event =>
|
|
548
|
+
process.on(event, async signal => {
|
|
549
|
+
if (signal instanceof Error) {
|
|
550
|
+
log.error(`Exit on error: ${signal.stack || signal.message}`)
|
|
551
|
+
} else {
|
|
552
|
+
log.debug(`Exit on signal: ${signal}`)
|
|
553
|
+
}
|
|
554
|
+
await runExitHandlersNow(signal)
|
|
555
|
+
process.exit(0)
|
|
556
|
+
}),
|
|
557
|
+
)
|
|
558
|
+
}
|
|
553
559
|
|
|
554
560
|
/**
|
|
555
561
|
* Downloads the configured chrome executable if it doesn't exists into the
|