From a84586b61f8cd89d7d7b8c16496de25a1bac8e32 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 16 Apr 2021 08:34:09 -0400 Subject: [PATCH] added node-multiprocess demo --- Demos.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Demos.md b/Demos.md index 72fe68d..c049711 100644 --- a/Demos.md +++ b/Demos.md @@ -188,3 +188,51 @@ node demo/node.js 2021-03-06 10:28:54 DATA: Gesture: [ { body: 0, gesture: 'leaning right' }, [length]: 1 ] 10:28:54.968 Human: Warmup full 621 ms ``` + +## NodeJS Multi-process Demo + +- `node-multiprocess.js` and `node-multiprocess-worker.js`: Demo using NodeJS with CommonJS module + Demo that starts n child worker processes for parallel execution + +```shell +node node-multiprocess.js +``` + +```json +2021-04-16 08:33:13 INFO: @vladmandic/face-api version 1.1.12 +2021-04-16 08:33:13 INFO: User: vlado Platform: linux Arch: x64 Node: v15.7.0 +2021-04-16 08:33:13 INFO: FaceAPI multi-process test +2021-04-16 08:33:13 STATE: Main: started worker: 268453 +2021-04-16 08:33:13 STATE: Main: started worker: 268459 +2021-04-16 08:33:13 STATE: Main: started worker: 268460 +2021-04-16 08:33:13 STATE: Main: started worker: 268466 +2021-04-16 08:33:14 STATE: Worker: PID: 268459 TensorFlow/JS 3.4.0 FaceAPI 1.1.12 Backend: tensorflow +2021-04-16 08:33:14 STATE: Worker: PID: 268466 TensorFlow/JS 3.4.0 FaceAPI 1.1.12 Backend: tensorflow +2021-04-16 08:33:14 STATE: Worker: PID: 268460 TensorFlow/JS 3.4.0 FaceAPI 1.1.12 Backend: tensorflow +2021-04-16 08:33:14 STATE: Worker: PID: 268453 TensorFlow/JS 3.4.0 FaceAPI 1.1.12 Backend: tensorflow +2021-04-16 08:33:15 STATE: Main: dispatching to worker: 268466 +2021-04-16 08:33:15 STATE: Main: dispatching to worker: 268460 +2021-04-16 08:33:15 INFO: Latency: worker initializtion: 1860 message round trip: 39 +2021-04-16 08:33:15 DATA: Worker received message: 268466 { test: true } +2021-04-16 08:33:15 STATE: Main: dispatching to worker: 268459 +2021-04-16 08:33:15 STATE: Main: dispatching to worker: 268453 +2021-04-16 08:33:15 DATA: Worker received message: 268460 { image: 'demo/sample2.jpg' } +2021-04-16 08:33:15 DATA: Worker received message: 268459 { image: 'demo/sample3.jpg' } +2021-04-16 08:33:15 DATA: Worker received message: 268453 { image: 'demo/sample4.jpg' } +2021-04-16 08:33:15 DATA: Worker received message: 268466 { image: 'demo/sample1.jpg' } +2021-04-16 08:33:17 DATA: Main: worker finished: 268466 detected faces: 3 +2021-04-16 08:33:17 STATE: Main: dispatching to worker: 268466 +2021-04-16 08:33:17 DATA: Main: worker finished: 268460 detected faces: 3 +2021-04-16 08:33:17 STATE: Main: dispatching to worker: 268460 +2021-04-16 08:33:17 DATA: Worker received message: 268466 { image: 'demo/sample5.jpg' } +2021-04-16 08:33:17 DATA: Worker received message: 268460 { image: 'demo/sample6.jpg' } +2021-04-16 08:33:17 DATA: Main: worker finished: 268453 detected faces: 4 +2021-04-16 08:33:17 STATE: Main: worker exit: 268453 0 +2021-04-16 08:33:17 DATA: Main: worker finished: 268459 detected faces: 3 +2021-04-16 08:33:17 STATE: Main: worker exit: 268459 0 +2021-04-16 08:33:18 DATA: Main: worker finished: 268466 detected faces: 5 +2021-04-16 08:33:18 STATE: Main: worker exit: 268466 0 +2021-04-16 08:33:18 DATA: Main: worker finished: 268460 detected faces: 4 +2021-04-16 08:33:18 INFO: Processed: 6 images in total: 4930 ms working: 3069 ms average: 511 ms +2021-04-16 08:33:18 STATE: Main: worker exit: 268460 0 +```