ee-core 5.0.0-beta.2 → 5.0.0-beta.5
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/dist/cjs/app/application.d.ts +36 -1
- package/dist/cjs/app/application.d.ts.map +1 -1
- package/dist/cjs/app/application.js +49 -2
- package/dist/cjs/app/application.js.map +1 -1
- package/dist/cjs/app/boot.d.ts +56 -1
- package/dist/cjs/app/boot.d.ts.map +1 -1
- package/dist/cjs/app/boot.js +74 -11
- package/dist/cjs/app/boot.js.map +1 -1
- package/dist/cjs/app/dir.d.ts +10 -0
- package/dist/cjs/app/dir.d.ts.map +1 -1
- package/dist/cjs/app/dir.js +71 -10
- package/dist/cjs/app/dir.js.map +1 -1
- package/dist/cjs/app/events.d.ts +58 -2
- package/dist/cjs/app/events.d.ts.map +1 -1
- package/dist/cjs/app/events.js +92 -12
- package/dist/cjs/app/events.js.map +1 -1
- package/dist/cjs/config/config_loader.d.ts +44 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -1
- package/dist/cjs/config/config_loader.js +82 -1
- package/dist/cjs/config/config_loader.js.map +1 -1
- package/dist/cjs/config/default_config.d.ts +5 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -1
- package/dist/cjs/config/default_config.js +98 -11
- package/dist/cjs/config/default_config.js.map +1 -1
- package/dist/cjs/config/index.d.ts +31 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +52 -0
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/const/channel.d.ts +17 -0
- package/dist/cjs/const/channel.d.ts.map +1 -1
- package/dist/cjs/const/channel.js +17 -0
- package/dist/cjs/const/channel.js.map +1 -1
- package/dist/cjs/controller/controller_loader.d.ts +20 -1
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
- package/dist/cjs/controller/controller_loader.js +89 -9
- package/dist/cjs/controller/controller_loader.js.map +1 -1
- package/dist/cjs/controller/index.d.ts +32 -0
- package/dist/cjs/controller/index.d.ts.map +1 -1
- package/dist/cjs/controller/index.js +66 -0
- package/dist/cjs/controller/index.js.map +1 -1
- package/dist/cjs/core/loader/file_loader.d.ts +78 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +194 -68
- package/dist/cjs/core/loader/file_loader.js.map +1 -1
- package/dist/cjs/core/utils/index.d.ts +57 -2
- package/dist/cjs/core/utils/index.d.ts.map +1 -1
- package/dist/cjs/core/utils/index.js +120 -12
- package/dist/cjs/core/utils/index.js.map +1 -1
- package/dist/cjs/core/utils/timing.d.ts +47 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -1
- package/dist/cjs/core/utils/timing.js +42 -2
- package/dist/cjs/core/utils/timing.js.map +1 -1
- package/dist/cjs/cross/cross.d.ts +81 -2
- package/dist/cjs/cross/cross.d.ts.map +1 -1
- package/dist/cjs/cross/cross.js +86 -16
- package/dist/cjs/cross/cross.js.map +1 -1
- package/dist/cjs/cross/crossProcess.d.ts +85 -14
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
- package/dist/cjs/cross/crossProcess.js +85 -13
- package/dist/cjs/cross/crossProcess.js.map +1 -1
- package/dist/cjs/electron/app/index.d.ts +17 -1
- package/dist/cjs/electron/app/index.d.ts.map +1 -1
- package/dist/cjs/electron/app/index.js +27 -3
- package/dist/cjs/electron/app/index.js.map +1 -1
- package/dist/cjs/electron/index.d.ts +6 -0
- package/dist/cjs/electron/index.d.ts.map +1 -1
- package/dist/cjs/electron/index.js +16 -1
- package/dist/cjs/electron/index.js.map +1 -1
- package/dist/cjs/electron/window/index.d.ts +37 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -1
- package/dist/cjs/electron/window/index.js +144 -88
- package/dist/cjs/electron/window/index.js.map +1 -1
- package/dist/cjs/exception/index.d.ts +12 -0
- package/dist/cjs/exception/index.d.ts.map +1 -1
- package/dist/cjs/exception/index.js +67 -9
- package/dist/cjs/exception/index.js.map +1 -1
- package/dist/cjs/html/index.d.ts +19 -0
- package/dist/cjs/html/index.d.ts.map +1 -1
- package/dist/cjs/html/index.js +42 -0
- package/dist/cjs/html/index.js.map +1 -1
- package/dist/cjs/index.d.ts +35 -7
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +127 -80
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jobs/child/app.js +86 -25
- package/dist/cjs/jobs/child/app.js.map +1 -1
- package/dist/cjs/jobs/child/index.d.ts +5 -5
- package/dist/cjs/jobs/child/index.js +5 -5
- package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/cjs/jobs/child/jobProcess.js +86 -11
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
- package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/cjs/jobs/child-pool/index.js +91 -4
- package/dist/cjs/jobs/child-pool/index.js.map +1 -1
- package/dist/cjs/jobs/index.d.ts +10 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -1
- package/dist/cjs/jobs/index.js +10 -0
- package/dist/cjs/jobs/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/consts.js +22 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
- package/dist/cjs/jobs/load-balancer/index.js +18 -18
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
- package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/types.js +4 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
- package/dist/cjs/jobs/registry.d.ts +24 -0
- package/dist/cjs/jobs/registry.d.ts.map +1 -0
- package/dist/cjs/jobs/registry.js +52 -0
- package/dist/cjs/jobs/registry.js.map +1 -0
- package/dist/cjs/loader/index.d.ts +52 -0
- package/dist/cjs/loader/index.d.ts.map +1 -1
- package/dist/cjs/loader/index.js +79 -10
- package/dist/cjs/loader/index.js.map +1 -1
- package/dist/cjs/log/index.d.ts +41 -0
- package/dist/cjs/log/index.d.ts.map +1 -1
- package/dist/cjs/log/index.js +59 -20
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.d.ts +26 -0
- package/dist/cjs/log/logger.d.ts.map +1 -1
- package/dist/cjs/log/logger.js +122 -2
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/message/childMessage.d.ts +50 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -1
- package/dist/cjs/message/childMessage.js +83 -2
- package/dist/cjs/message/childMessage.js.map +1 -1
- package/dist/cjs/ps/index.d.ts +112 -0
- package/dist/cjs/ps/index.d.ts.map +1 -1
- package/dist/cjs/ps/index.js +175 -41
- package/dist/cjs/ps/index.js.map +1 -1
- package/dist/cjs/socket/httpServer.d.ts +58 -5
- package/dist/cjs/socket/httpServer.d.ts.map +1 -1
- package/dist/cjs/socket/httpServer.js +94 -28
- package/dist/cjs/socket/httpServer.js.map +1 -1
- package/dist/cjs/socket/index.d.ts +45 -3
- package/dist/cjs/socket/index.d.ts.map +1 -1
- package/dist/cjs/socket/index.js +50 -14
- package/dist/cjs/socket/index.js.map +1 -1
- package/dist/cjs/socket/ipcServer.d.ts +31 -1
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
- package/dist/cjs/socket/ipcServer.js +60 -43
- package/dist/cjs/socket/ipcServer.js.map +1 -1
- package/dist/cjs/socket/socketServer.d.ts +32 -1
- package/dist/cjs/socket/socketServer.d.ts.map +1 -1
- package/dist/cjs/socket/socketServer.js +53 -14
- package/dist/cjs/socket/socketServer.js.map +1 -1
- package/dist/cjs/socket/utils.d.ts +13 -0
- package/dist/cjs/socket/utils.d.ts.map +1 -0
- package/dist/cjs/socket/utils.js +41 -0
- package/dist/cjs/socket/utils.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/cjs/storage/sqliteStorage.js +121 -9
- package/dist/cjs/storage/sqliteStorage.js.map +1 -1
- package/dist/cjs/types/index.d.ts +373 -5
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/extend.d.ts +44 -1
- package/dist/cjs/utils/extend.d.ts.map +1 -1
- package/dist/cjs/utils/extend.js +67 -19
- package/dist/cjs/utils/extend.js.map +1 -1
- package/dist/cjs/utils/helper.d.ts +154 -1
- package/dist/cjs/utils/helper.d.ts.map +1 -1
- package/dist/cjs/utils/helper.js +205 -28
- package/dist/cjs/utils/helper.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +93 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +136 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ip.d.ts +29 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -1
- package/dist/cjs/utils/ip.js +95 -4
- package/dist/cjs/utils/ip.js.map +1 -1
- package/dist/cjs/utils/is.d.ts +123 -0
- package/dist/cjs/utils/is.d.ts.map +1 -1
- package/dist/cjs/utils/is.js +126 -14
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +54 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +62 -0
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/pargv.d.ts +51 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -1
- package/dist/cjs/utils/pargv.js +141 -3
- package/dist/cjs/utils/pargv.js.map +1 -1
- package/dist/cjs/utils/port/index.d.ts +42 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -1
- package/dist/cjs/utils/port/index.js +130 -7
- package/dist/cjs/utils/port/index.js.map +1 -1
- package/dist/cjs/utils/type_check.d.ts +79 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -1
- package/dist/cjs/utils/type_check.js +87 -1
- package/dist/cjs/utils/type_check.js.map +1 -1
- package/dist/cjs/utils/wrap.d.ts +26 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -1
- package/dist/cjs/utils/wrap.js +47 -10
- package/dist/cjs/utils/wrap.js.map +1 -1
- package/dist/esm/app/application.d.ts +36 -1
- package/dist/esm/app/application.d.ts.map +1 -1
- package/dist/esm/app/application.js +49 -2
- package/dist/esm/app/application.js.map +1 -1
- package/dist/esm/app/boot.d.ts +56 -1
- package/dist/esm/app/boot.d.ts.map +1 -1
- package/dist/esm/app/boot.js +74 -11
- package/dist/esm/app/boot.js.map +1 -1
- package/dist/esm/app/dir.d.ts +10 -0
- package/dist/esm/app/dir.d.ts.map +1 -1
- package/dist/esm/app/dir.js +71 -10
- package/dist/esm/app/dir.js.map +1 -1
- package/dist/esm/app/events.d.ts +58 -2
- package/dist/esm/app/events.d.ts.map +1 -1
- package/dist/esm/app/events.js +92 -12
- package/dist/esm/app/events.js.map +1 -1
- package/dist/esm/config/config_loader.d.ts +44 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -1
- package/dist/esm/config/config_loader.js +82 -1
- package/dist/esm/config/config_loader.js.map +1 -1
- package/dist/esm/config/default_config.d.ts +5 -0
- package/dist/esm/config/default_config.d.ts.map +1 -1
- package/dist/esm/config/default_config.js +98 -11
- package/dist/esm/config/default_config.js.map +1 -1
- package/dist/esm/config/index.d.ts +31 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +52 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/const/channel.d.ts +17 -0
- package/dist/esm/const/channel.d.ts.map +1 -1
- package/dist/esm/const/channel.js +17 -0
- package/dist/esm/const/channel.js.map +1 -1
- package/dist/esm/controller/controller_loader.d.ts +20 -1
- package/dist/esm/controller/controller_loader.d.ts.map +1 -1
- package/dist/esm/controller/controller_loader.js +89 -9
- package/dist/esm/controller/controller_loader.js.map +1 -1
- package/dist/esm/controller/index.d.ts +32 -0
- package/dist/esm/controller/index.d.ts.map +1 -1
- package/dist/esm/controller/index.js +66 -0
- package/dist/esm/controller/index.js.map +1 -1
- package/dist/esm/core/loader/file_loader.d.ts +78 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +194 -68
- package/dist/esm/core/loader/file_loader.js.map +1 -1
- package/dist/esm/core/utils/index.d.ts +57 -2
- package/dist/esm/core/utils/index.d.ts.map +1 -1
- package/dist/esm/core/utils/index.js +87 -12
- package/dist/esm/core/utils/index.js.map +1 -1
- package/dist/esm/core/utils/timing.d.ts +47 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -1
- package/dist/esm/core/utils/timing.js +42 -2
- package/dist/esm/core/utils/timing.js.map +1 -1
- package/dist/esm/cross/cross.d.ts +81 -2
- package/dist/esm/cross/cross.d.ts.map +1 -1
- package/dist/esm/cross/cross.js +86 -16
- package/dist/esm/cross/cross.js.map +1 -1
- package/dist/esm/cross/crossProcess.d.ts +85 -14
- package/dist/esm/cross/crossProcess.d.ts.map +1 -1
- package/dist/esm/cross/crossProcess.js +85 -13
- package/dist/esm/cross/crossProcess.js.map +1 -1
- package/dist/esm/electron/app/index.d.ts +17 -1
- package/dist/esm/electron/app/index.d.ts.map +1 -1
- package/dist/esm/electron/app/index.js +27 -3
- package/dist/esm/electron/app/index.js.map +1 -1
- package/dist/esm/electron/index.d.ts +6 -0
- package/dist/esm/electron/index.d.ts.map +1 -1
- package/dist/esm/electron/index.js +16 -1
- package/dist/esm/electron/index.js.map +1 -1
- package/dist/esm/electron/window/index.d.ts +37 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -1
- package/dist/esm/electron/window/index.js +144 -88
- package/dist/esm/electron/window/index.js.map +1 -1
- package/dist/esm/exception/index.d.ts +12 -0
- package/dist/esm/exception/index.d.ts.map +1 -1
- package/dist/esm/exception/index.js +67 -9
- package/dist/esm/exception/index.js.map +1 -1
- package/dist/esm/html/index.d.ts +19 -0
- package/dist/esm/html/index.d.ts.map +1 -1
- package/dist/esm/html/index.js +42 -0
- package/dist/esm/html/index.js.map +1 -1
- package/dist/esm/index.d.ts +35 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +127 -80
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jobs/child/app.js +86 -25
- package/dist/esm/jobs/child/app.js.map +1 -1
- package/dist/esm/jobs/child/index.d.ts +5 -5
- package/dist/esm/jobs/child/index.js +5 -5
- package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/esm/jobs/child/jobProcess.js +86 -11
- package/dist/esm/jobs/child/jobProcess.js.map +1 -1
- package/dist/esm/jobs/child-pool/index.d.ts +96 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/esm/jobs/child-pool/index.js +91 -4
- package/dist/esm/jobs/child-pool/index.js.map +1 -1
- package/dist/esm/jobs/index.d.ts +10 -0
- package/dist/esm/jobs/index.d.ts.map +1 -1
- package/dist/esm/jobs/index.js +10 -0
- package/dist/esm/jobs/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/consts.js +22 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
- package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
- package/dist/esm/jobs/load-balancer/index.js +18 -18
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
- package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/types.js +4 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -1
- package/dist/esm/jobs/registry.d.ts +24 -0
- package/dist/esm/jobs/registry.d.ts.map +1 -0
- package/dist/esm/jobs/registry.js +52 -0
- package/dist/esm/jobs/registry.js.map +1 -0
- package/dist/esm/loader/index.d.ts +52 -0
- package/dist/esm/loader/index.d.ts.map +1 -1
- package/dist/esm/loader/index.js +79 -10
- package/dist/esm/loader/index.js.map +1 -1
- package/dist/esm/log/index.d.ts +41 -0
- package/dist/esm/log/index.d.ts.map +1 -1
- package/dist/esm/log/index.js +59 -20
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.d.ts +26 -0
- package/dist/esm/log/logger.d.ts.map +1 -1
- package/dist/esm/log/logger.js +122 -2
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/message/childMessage.d.ts +50 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -1
- package/dist/esm/message/childMessage.js +83 -2
- package/dist/esm/message/childMessage.js.map +1 -1
- package/dist/esm/ps/index.d.ts +112 -0
- package/dist/esm/ps/index.d.ts.map +1 -1
- package/dist/esm/ps/index.js +175 -41
- package/dist/esm/ps/index.js.map +1 -1
- package/dist/esm/socket/httpServer.d.ts +58 -5
- package/dist/esm/socket/httpServer.d.ts.map +1 -1
- package/dist/esm/socket/httpServer.js +94 -28
- package/dist/esm/socket/httpServer.js.map +1 -1
- package/dist/esm/socket/index.d.ts +45 -3
- package/dist/esm/socket/index.d.ts.map +1 -1
- package/dist/esm/socket/index.js +50 -14
- package/dist/esm/socket/index.js.map +1 -1
- package/dist/esm/socket/ipcServer.d.ts +31 -1
- package/dist/esm/socket/ipcServer.d.ts.map +1 -1
- package/dist/esm/socket/ipcServer.js +60 -43
- package/dist/esm/socket/ipcServer.js.map +1 -1
- package/dist/esm/socket/socketServer.d.ts +32 -1
- package/dist/esm/socket/socketServer.d.ts.map +1 -1
- package/dist/esm/socket/socketServer.js +53 -14
- package/dist/esm/socket/socketServer.js.map +1 -1
- package/dist/esm/socket/utils.d.ts +13 -0
- package/dist/esm/socket/utils.d.ts.map +1 -0
- package/dist/esm/socket/utils.js +41 -0
- package/dist/esm/socket/utils.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +93 -4
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/esm/storage/sqliteStorage.js +121 -9
- package/dist/esm/storage/sqliteStorage.js.map +1 -1
- package/dist/esm/types/index.d.ts +373 -5
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/extend.d.ts +44 -1
- package/dist/esm/utils/extend.d.ts.map +1 -1
- package/dist/esm/utils/extend.js +67 -19
- package/dist/esm/utils/extend.js.map +1 -1
- package/dist/esm/utils/helper.d.ts +154 -1
- package/dist/esm/utils/helper.d.ts.map +1 -1
- package/dist/esm/utils/helper.js +205 -28
- package/dist/esm/utils/helper.js.map +1 -1
- package/dist/esm/utils/index.d.ts +93 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +136 -12
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ip.d.ts +29 -0
- package/dist/esm/utils/ip.d.ts.map +1 -1
- package/dist/esm/utils/ip.js +95 -4
- package/dist/esm/utils/ip.js.map +1 -1
- package/dist/esm/utils/is.d.ts +123 -0
- package/dist/esm/utils/is.d.ts.map +1 -1
- package/dist/esm/utils/is.js +126 -14
- package/dist/esm/utils/is.js.map +1 -1
- package/dist/esm/utils/json.d.ts +54 -0
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +62 -0
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/pargv.d.ts +51 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -1
- package/dist/esm/utils/pargv.js +141 -3
- package/dist/esm/utils/pargv.js.map +1 -1
- package/dist/esm/utils/port/index.d.ts +42 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -1
- package/dist/esm/utils/port/index.js +130 -7
- package/dist/esm/utils/port/index.js.map +1 -1
- package/dist/esm/utils/type_check.d.ts +79 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -1
- package/dist/esm/utils/type_check.js +87 -1
- package/dist/esm/utils/type_check.js.map +1 -1
- package/dist/esm/utils/wrap.d.ts +26 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -1
- package/dist/esm/utils/wrap.js +47 -10
- package/dist/esm/utils/wrap.js.map +1 -1
- package/package.json +13 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LoadBalancerTarget, LoadBalancerParams } from '../types.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Weighted round-robin algorithm
|
|
4
4
|
*/
|
|
5
5
|
export default function weightsPolling(tasks: LoadBalancerTarget[], weightIndex: number, weightTotal: number, context: LoadBalancerParams): LoadBalancerTarget | null;
|
|
6
6
|
//# sourceMappingURL=weightsPolling.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LoadBalancerTarget } from '../types.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Weighted random algorithm
|
|
4
4
|
*/
|
|
5
5
|
export default function weightsRandom(tasks: LoadBalancerTarget[], weightTotal: number): LoadBalancerTarget | null;
|
|
6
6
|
//# sourceMappingURL=weightsRandom.d.ts.map
|
|
@@ -1,11 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module jobs/load-balancer/consts
|
|
3
|
+
* @description Load balancing algorithm type constants.
|
|
4
|
+
*
|
|
5
|
+
* Supported algorithms:
|
|
6
|
+
* - polling: Round-robin, select in sequence
|
|
7
|
+
* - weights: Weighted, select by weight
|
|
8
|
+
* - random: Random selection
|
|
9
|
+
* - specify: Select by specified ID
|
|
10
|
+
* - weightsPolling: Weighted round-robin
|
|
11
|
+
* - weightsRandom: Weighted random
|
|
12
|
+
* - minimumConnection: Least connections
|
|
13
|
+
* - weightsMinimumConnection: Weighted least connections
|
|
14
|
+
*/
|
|
1
15
|
export declare const AlgorithmType: {
|
|
16
|
+
/** Polling: select the next target in sequence */
|
|
2
17
|
readonly polling: "polling";
|
|
18
|
+
/** Weighted: select by weight ratio */
|
|
3
19
|
readonly weights: "weights";
|
|
20
|
+
/** Random: randomly select a target */
|
|
4
21
|
readonly random: "random";
|
|
22
|
+
/** Specify: select a target by ID */
|
|
5
23
|
readonly specify: "specify";
|
|
24
|
+
/** Weighted polling: combines weight and round-robin */
|
|
6
25
|
readonly weightsPolling: "weightsPolling";
|
|
26
|
+
/** Weighted random: combines weight and random selection */
|
|
7
27
|
readonly weightsRandom: "weightsRandom";
|
|
28
|
+
/** Least connections: select the target with the fewest current connections */
|
|
8
29
|
readonly minimumConnection: "minimumConnection";
|
|
30
|
+
/** Weighted least connections: combines weight and least connections */
|
|
9
31
|
readonly weightsMinimumConnection: "weightsMinimumConnection";
|
|
10
32
|
};
|
|
11
33
|
export type AlgorithmTypeKey = keyof typeof AlgorithmType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/consts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa;IACxB,kDAAkD;;IAElD,uCAAuC;;IAEvC,uCAAuC;;IAEvC,qCAAqC;;IAErC,wDAAwD;;IAExD,4DAA4D;;IAE5D,+EAA+E;;IAE/E,wEAAwE;;CAEhE,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,aAAa,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,14 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AlgorithmType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module jobs/load-balancer/consts
|
|
6
|
+
* @description Load balancing algorithm type constants.
|
|
7
|
+
*
|
|
8
|
+
* Supported algorithms:
|
|
9
|
+
* - polling: Round-robin, select in sequence
|
|
10
|
+
* - weights: Weighted, select by weight
|
|
11
|
+
* - random: Random selection
|
|
12
|
+
* - specify: Select by specified ID
|
|
13
|
+
* - weightsPolling: Weighted round-robin
|
|
14
|
+
* - weightsRandom: Weighted random
|
|
15
|
+
* - minimumConnection: Least connections
|
|
16
|
+
* - weightsMinimumConnection: Weighted least connections
|
|
17
|
+
*/
|
|
4
18
|
exports.AlgorithmType = {
|
|
19
|
+
/** Polling: select the next target in sequence */
|
|
5
20
|
polling: 'polling',
|
|
21
|
+
/** Weighted: select by weight ratio */
|
|
6
22
|
weights: 'weights',
|
|
23
|
+
/** Random: randomly select a target */
|
|
7
24
|
random: 'random',
|
|
25
|
+
/** Specify: select a target by ID */
|
|
8
26
|
specify: 'specify',
|
|
27
|
+
/** Weighted polling: combines weight and round-robin */
|
|
9
28
|
weightsPolling: 'weightsPolling',
|
|
29
|
+
/** Weighted random: combines weight and random selection */
|
|
10
30
|
weightsRandom: 'weightsRandom',
|
|
31
|
+
/** Least connections: select the target with the fewest current connections */
|
|
11
32
|
minimumConnection: 'minimumConnection',
|
|
33
|
+
/** Weighted least connections: combines weight and least connections */
|
|
12
34
|
weightsMinimumConnection: 'weightsMinimumConnection',
|
|
13
35
|
};
|
|
14
36
|
//# sourceMappingURL=consts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/consts.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/consts.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACU,QAAA,aAAa,GAAG;IAC3B,kDAAkD;IAClD,OAAO,EAAE,SAAS;IAClB,uCAAuC;IACvC,OAAO,EAAE,SAAS;IAClB,uCAAuC;IACvC,MAAM,EAAE,QAAQ;IAChB,qCAAqC;IACrC,OAAO,EAAE,SAAS;IAClB,wDAAwD;IACxD,cAAc,EAAE,gBAAgB;IAChC,4DAA4D;IAC5D,aAAa,EAAE,eAAe;IAC9B,+EAA+E;IAC/E,iBAAiB,EAAE,mBAAmB;IACtC,wEAAwE;IACxE,wBAAwB,EAAE,0BAA0B;CAC5C,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Scheduler } from './scheduler.js';
|
|
2
2
|
import type { LoadBalancerTarget, LoadBalancerParams, LoadBalancerOptions, PidInfo } from './types.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* @intro
|
|
4
|
+
* Load Balancer
|
|
5
|
+
* @intro Based on the electron-re project with some modifications
|
|
6
6
|
* @since 1.0.0
|
|
7
7
|
*/
|
|
8
8
|
export declare class LoadBalancer {
|
|
@@ -22,61 +22,61 @@ export declare class LoadBalancer {
|
|
|
22
22
|
scheduler: Scheduler;
|
|
23
23
|
memoParams: Record<string, (...args: unknown[]) => unknown[]>;
|
|
24
24
|
/**
|
|
25
|
-
* @param options -
|
|
26
|
-
* @param options.targets -
|
|
27
|
-
* @param options.algorithm -
|
|
25
|
+
* @param options - Configuration options
|
|
26
|
+
* @param options.targets - Load balancing target list [{id: 1, weight: 1}, {id: 2, weight: 2}]
|
|
27
|
+
* @param options.algorithm - Algorithm name
|
|
28
28
|
*/
|
|
29
29
|
constructor(options: LoadBalancerOptions);
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* Algorithm parameters
|
|
32
32
|
*/
|
|
33
33
|
memorizedParams(): Record<string, (...args: unknown[]) => unknown[]>;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Refresh parameters
|
|
36
36
|
*/
|
|
37
37
|
refreshParams(pidMap: Record<string | number, PidInfo>): void;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* Elect a single process
|
|
40
40
|
*/
|
|
41
41
|
pickOne(...params: unknown[]): LoadBalancerTarget | null;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Elect multiple processes
|
|
44
44
|
*/
|
|
45
45
|
pickMulti(count?: number, ...params: unknown[]): (LoadBalancerTarget | null)[];
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Calculate weights
|
|
48
48
|
*/
|
|
49
49
|
calculateWeightIndex(): void;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Calculate index
|
|
52
52
|
*/
|
|
53
53
|
calculateIndex(): void;
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* Clean data
|
|
56
56
|
*/
|
|
57
57
|
clean(id?: string | number): void;
|
|
58
58
|
/**
|
|
59
|
-
*
|
|
59
|
+
* Add a process entry
|
|
60
60
|
*/
|
|
61
61
|
add(task: LoadBalancerTarget): void;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* Delete a process entry
|
|
64
64
|
*/
|
|
65
65
|
del(target: LoadBalancerTarget): void;
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Wipe all data
|
|
68
68
|
*/
|
|
69
69
|
wipe(): void;
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Update calculation parameters
|
|
72
72
|
*/
|
|
73
73
|
updateParams(object: Partial<LoadBalancerParams>): void;
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
75
|
+
* Set targets
|
|
76
76
|
*/
|
|
77
77
|
setTargets(targets: LoadBalancerTarget[]): void;
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Set algorithm
|
|
80
80
|
*/
|
|
81
81
|
setAlgorithm(algorithm: string): void;
|
|
82
82
|
}
|
|
@@ -4,15 +4,15 @@ exports.LoadBalancer = void 0;
|
|
|
4
4
|
const consts_js_1 = require("./consts.js");
|
|
5
5
|
const scheduler_js_1 = require("./scheduler.js");
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* @intro
|
|
7
|
+
* Load Balancer
|
|
8
|
+
* @intro Based on the electron-re project with some modifications
|
|
9
9
|
* @since 1.0.0
|
|
10
10
|
*/
|
|
11
11
|
class LoadBalancer {
|
|
12
12
|
/**
|
|
13
|
-
* @param options -
|
|
14
|
-
* @param options.targets -
|
|
15
|
-
* @param options.algorithm -
|
|
13
|
+
* @param options - Configuration options
|
|
14
|
+
* @param options.targets - Load balancing target list [{id: 1, weight: 1}, {id: 2, weight: 2}]
|
|
15
|
+
* @param options.algorithm - Algorithm name
|
|
16
16
|
*/
|
|
17
17
|
constructor(options) {
|
|
18
18
|
this.targets = options.targets;
|
|
@@ -30,7 +30,7 @@ class LoadBalancer {
|
|
|
30
30
|
this.calculateWeightIndex();
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Algorithm parameters
|
|
34
34
|
*/
|
|
35
35
|
memorizedParams() {
|
|
36
36
|
return {
|
|
@@ -45,7 +45,7 @@ class LoadBalancer {
|
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Refresh parameters
|
|
49
49
|
*/
|
|
50
50
|
refreshParams(pidMap) {
|
|
51
51
|
const infos = Object.values(pidMap);
|
|
@@ -55,7 +55,7 @@ class LoadBalancer {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Elect a single process
|
|
59
59
|
*/
|
|
60
60
|
pickOne(...params) {
|
|
61
61
|
const memoFn = this.memoParams[this.algorithm];
|
|
@@ -65,13 +65,13 @@ class LoadBalancer {
|
|
|
65
65
|
return this.scheduler.calculate(this.targets, memoFn(...params));
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* Elect multiple processes
|
|
69
69
|
*/
|
|
70
70
|
pickMulti(count = 1, ...params) {
|
|
71
71
|
return new Array(count).fill(null).map(() => this.pickOne(...params));
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* Calculate weights
|
|
75
75
|
*/
|
|
76
76
|
calculateWeightIndex() {
|
|
77
77
|
this.params.weightTotal = this.targets.reduce((total, cur) => total + (cur.weight || 0), 0);
|
|
@@ -80,7 +80,7 @@ class LoadBalancer {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
|
-
*
|
|
83
|
+
* Calculate index
|
|
84
84
|
*/
|
|
85
85
|
calculateIndex() {
|
|
86
86
|
if (this.params.currentIndex >= this.targets.length) {
|
|
@@ -88,7 +88,7 @@ class LoadBalancer {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
91
|
+
* Clean data
|
|
92
92
|
*/
|
|
93
93
|
clean(id) {
|
|
94
94
|
if (id !== undefined) {
|
|
@@ -108,7 +108,7 @@ class LoadBalancer {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
111
|
-
*
|
|
111
|
+
* Add a process entry
|
|
112
112
|
*/
|
|
113
113
|
add(task) {
|
|
114
114
|
if (this.targets.find(target => target.id === task.id)) {
|
|
@@ -119,7 +119,7 @@ class LoadBalancer {
|
|
|
119
119
|
this.calculateWeightIndex();
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
|
-
*
|
|
122
|
+
* Delete a process entry
|
|
123
123
|
*/
|
|
124
124
|
del(target) {
|
|
125
125
|
let found = false;
|
|
@@ -141,7 +141,7 @@ class LoadBalancer {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
144
|
+
* Wipe all data
|
|
145
145
|
*/
|
|
146
146
|
wipe() {
|
|
147
147
|
this.targets = [];
|
|
@@ -149,7 +149,7 @@ class LoadBalancer {
|
|
|
149
149
|
this.clean();
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
152
|
-
*
|
|
152
|
+
* Update calculation parameters
|
|
153
153
|
*/
|
|
154
154
|
updateParams(object) {
|
|
155
155
|
Object.entries(object).forEach(([key, value]) => {
|
|
@@ -159,7 +159,7 @@ class LoadBalancer {
|
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
|
-
*
|
|
162
|
+
* Set targets
|
|
163
163
|
*/
|
|
164
164
|
setTargets(targets) {
|
|
165
165
|
const targetsMap = targets.reduce((total, cur) => {
|
|
@@ -176,7 +176,7 @@ class LoadBalancer {
|
|
|
176
176
|
this.calculateWeightIndex();
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
179
|
-
*
|
|
179
|
+
* Set algorithm
|
|
180
180
|
*/
|
|
181
181
|
setAlgorithm(algorithm) {
|
|
182
182
|
if (algorithm in consts_js_1.AlgorithmType) {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { LoadBalancerTarget } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Algorithm scheduler
|
|
4
4
|
*/
|
|
5
5
|
export declare class Scheduler {
|
|
6
6
|
private algorithm;
|
|
7
7
|
constructor(algorithm?: string);
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Calculate
|
|
10
10
|
*/
|
|
11
11
|
calculate(tasks: LoadBalancerTarget[], params: unknown[]): LoadBalancerTarget | null;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Set algorithm
|
|
14
14
|
*/
|
|
15
15
|
setAlgorithm(algorithm: string): void;
|
|
16
16
|
}
|
|
@@ -7,21 +7,21 @@ exports.Scheduler = void 0;
|
|
|
7
7
|
const consts_js_1 = require("./consts.js");
|
|
8
8
|
const index_js_1 = __importDefault(require("./algorithm/index.js"));
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Algorithm scheduler
|
|
11
11
|
*/
|
|
12
12
|
class Scheduler {
|
|
13
13
|
constructor(algorithm) {
|
|
14
14
|
this.algorithm = algorithm || consts_js_1.AlgorithmType.polling;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Calculate
|
|
18
18
|
*/
|
|
19
19
|
calculate(tasks, params) {
|
|
20
20
|
const algo = index_js_1.default[this.algorithm];
|
|
21
21
|
return algo(tasks, ...params);
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Set algorithm
|
|
25
25
|
*/
|
|
26
26
|
setAlgorithm(algorithm) {
|
|
27
27
|
if (algorithm in consts_js_1.AlgorithmType) {
|
|
@@ -1,22 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module jobs/load-balancer/types
|
|
3
|
+
* @description Load balancer type definitions.
|
|
4
|
+
*/
|
|
5
|
+
/** Load balancer target (child process) */
|
|
1
6
|
export interface LoadBalancerTarget {
|
|
7
|
+
/** Target identifier (usually child process PID) */
|
|
2
8
|
id: string | number;
|
|
9
|
+
/** Weight value (used by weighted algorithms) */
|
|
3
10
|
weight?: number;
|
|
4
11
|
}
|
|
12
|
+
/** Load balancer runtime parameters */
|
|
5
13
|
export interface LoadBalancerParams {
|
|
14
|
+
/** Current polling index */
|
|
6
15
|
currentIndex: number;
|
|
16
|
+
/** Current weight index (for weighted round-robin) */
|
|
7
17
|
weightIndex: number;
|
|
18
|
+
/** Sum of all weights */
|
|
8
19
|
weightTotal: number;
|
|
20
|
+
/** Connections map: pid -> current connection count */
|
|
9
21
|
connectionsMap: Record<string | number, number>;
|
|
22
|
+
/** CPU occupancy map: pid -> CPU usage */
|
|
10
23
|
cpuOccupancyMap: Record<string | number, number>;
|
|
24
|
+
/** Memory occupancy map: pid -> memory usage */
|
|
11
25
|
memoryOccupancyMap: Record<string | number, number>;
|
|
12
26
|
}
|
|
27
|
+
/** Load balancer configuration options */
|
|
13
28
|
export interface LoadBalancerOptions {
|
|
29
|
+
/** Target list */
|
|
14
30
|
targets: LoadBalancerTarget[];
|
|
31
|
+
/** Algorithm name (default: polling) */
|
|
15
32
|
algorithm?: string;
|
|
16
33
|
}
|
|
34
|
+
/** Process info (CPU/memory) */
|
|
17
35
|
export interface PidInfo {
|
|
36
|
+
/** Process ID */
|
|
18
37
|
pid: string | number;
|
|
38
|
+
/** CPU usage */
|
|
19
39
|
cpu: number;
|
|
40
|
+
/** Memory usage */
|
|
20
41
|
memory: number;
|
|
21
42
|
}
|
|
22
43
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,kBAAkB,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,gDAAgD;IAChD,kBAAkB,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;CACrD;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gCAAgC;AAChC,MAAM,WAAW,OAAO;IACtB,iBAAiB;IACjB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Killable job manager interface */
|
|
2
|
+
type Killable = {
|
|
3
|
+
killAll: () => void;
|
|
4
|
+
} | {
|
|
5
|
+
getPids: () => string[];
|
|
6
|
+
kill: (pid: string | number) => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Register a job manager
|
|
10
|
+
*
|
|
11
|
+
* Called after creating a ChildJob or ChildPoolJob to ensure cleanup on application exit.
|
|
12
|
+
*
|
|
13
|
+
* @param job - Job manager instance (ChildJob or ChildPoolJob)
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerJobManager(job: Killable): void;
|
|
16
|
+
/**
|
|
17
|
+
* Kill all registered job managers
|
|
18
|
+
*
|
|
19
|
+
* Called in the Electron before-quit event to ensure all child processes are properly terminated.
|
|
20
|
+
* Prefers killAll(), falls back to killing individual processes.
|
|
21
|
+
*/
|
|
22
|
+
export declare function killAllJobs(): void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/jobs/registry.ts"],"names":[],"mappings":"AAOA,qCAAqC;AACrC,KAAK,QAAQ,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AAK5G;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAoBlC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerJobManager = registerJobManager;
|
|
4
|
+
exports.killAllJobs = killAllJobs;
|
|
5
|
+
/**
|
|
6
|
+
* @module jobs/registry
|
|
7
|
+
* @description Job manager registry. Centrally manages all ChildJob and ChildPoolJob instances,
|
|
8
|
+
* terminating all child processes on application exit (before-quit) to prevent process leaks.
|
|
9
|
+
*/
|
|
10
|
+
const index_js_1 = require("../log/index.js");
|
|
11
|
+
/** List of registered job managers */
|
|
12
|
+
const registeredJobs = [];
|
|
13
|
+
/**
|
|
14
|
+
* Register a job manager
|
|
15
|
+
*
|
|
16
|
+
* Called after creating a ChildJob or ChildPoolJob to ensure cleanup on application exit.
|
|
17
|
+
*
|
|
18
|
+
* @param job - Job manager instance (ChildJob or ChildPoolJob)
|
|
19
|
+
*/
|
|
20
|
+
function registerJobManager(job) {
|
|
21
|
+
registeredJobs.push(job);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Kill all registered job managers
|
|
25
|
+
*
|
|
26
|
+
* Called in the Electron before-quit event to ensure all child processes are properly terminated.
|
|
27
|
+
* Prefers killAll(), falls back to killing individual processes.
|
|
28
|
+
*/
|
|
29
|
+
function killAllJobs() {
|
|
30
|
+
const failed = [];
|
|
31
|
+
for (const job of registeredJobs) {
|
|
32
|
+
try {
|
|
33
|
+
if ('killAll' in job && typeof job.killAll === 'function') {
|
|
34
|
+
job.killAll();
|
|
35
|
+
}
|
|
36
|
+
else if ('getPids' in job && 'kill' in job) {
|
|
37
|
+
const pids = job.getPids();
|
|
38
|
+
for (const pid of pids) {
|
|
39
|
+
job.kill(typeof pid === 'string' ? parseInt(pid, 10) : pid);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
index_js_1.coreLogger.error('[jobs/registry] error killing job manager:', err);
|
|
45
|
+
failed.push(err);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (failed.length > 0) {
|
|
49
|
+
index_js_1.coreLogger.error(`[jobs/registry] ${failed.length} job manager(s) failed to kill, processes may be orphaned`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/jobs/registry.ts"],"names":[],"mappings":";;AAoBA,gDAEC;AAQD,kCAoBC;AAlDD;;;;GAIG;AACH,8CAA6C;AAK7C,sCAAsC;AACtC,MAAM,cAAc,GAAe,EAAE,CAAC;AAEtC;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAa;IAC9C,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW;IACzB,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,SAAS,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qBAAU,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,qBAAU,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,2DAA2D,CAAC,CAAC;IAChH,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load a file and automatically execute function exports
|
|
3
|
+
*
|
|
4
|
+
* If the file exports a plain function (not a class or bytecode class), automatically calls that function
|
|
5
|
+
* and returns the execution result. Suitable for config files that need to dynamically return content based on appInfo.
|
|
6
|
+
*
|
|
7
|
+
* @param filepath - File path (relative paths are based on electronDir)
|
|
8
|
+
* @param inject - Arguments passed to the function export (spread into the call)
|
|
9
|
+
* @returns File export content or function execution result
|
|
10
|
+
* @throws Throws an error if the file does not exist
|
|
11
|
+
*/
|
|
1
12
|
export declare function loadFile(filepath: string, ...inject: unknown[]): unknown;
|
|
13
|
+
/**
|
|
14
|
+
* Load a file (without auto-execution)
|
|
15
|
+
*
|
|
16
|
+
* Returns the module export content directly, without any processing.
|
|
17
|
+
* Suitable for scenarios where the original module reference is needed (e.g. child process task loading).
|
|
18
|
+
*
|
|
19
|
+
* @param filepath - Absolute file path
|
|
20
|
+
* @returns Module export content
|
|
21
|
+
*/
|
|
2
22
|
export declare function requireFile(filepath: string): unknown;
|
|
23
|
+
/**
|
|
24
|
+
* Load and run a file
|
|
25
|
+
*
|
|
26
|
+
* Determines execution method based on export type:
|
|
27
|
+
* - Class/bytecode class -> Instantiate with new, inject as constructor arguments
|
|
28
|
+
* - Plain function -> Call directly, inject as function arguments
|
|
29
|
+
* - Other -> Return as-is
|
|
30
|
+
*
|
|
31
|
+
* @param filepath - Absolute file path
|
|
32
|
+
* @param inject - Arguments passed to the constructor or function (spread into the call)
|
|
33
|
+
* @returns Instantiated class object or function execution result
|
|
34
|
+
*/
|
|
3
35
|
export declare function execFile(filepath: string, ...inject: unknown[]): unknown;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the absolute path of a module
|
|
38
|
+
*
|
|
39
|
+
* First tries require.resolve(), then falls back to suffix-based rules:
|
|
40
|
+
* - .default / .prod -> Try .jsc (bytecode version)
|
|
41
|
+
* - .js -> Try .jsc
|
|
42
|
+
* - No suffix -> Try .js and .jsc
|
|
43
|
+
*
|
|
44
|
+
* @param filepath - Module path
|
|
45
|
+
* @returns Absolute path of the module, or undefined if it cannot be resolved
|
|
46
|
+
*/
|
|
4
47
|
export declare function resolveModule(filepath: string): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Get the absolute path of a file under the electron directory
|
|
50
|
+
*
|
|
51
|
+
* Relative paths are resolved based on electronDir, and resolveModule is also attempted to find the actual file.
|
|
52
|
+
*
|
|
53
|
+
* @param filepath - File path (relative or absolute)
|
|
54
|
+
* @returns Absolute path of the file
|
|
55
|
+
* @throws Throws an error if the file does not exist
|
|
56
|
+
*/
|
|
5
57
|
export declare function getFullpath(filepath: string): string;
|
|
6
58
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loader/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loader/index.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAkBxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAQxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4BlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYpD"}
|