ee-core 4.1.5 → 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 +41 -0
- package/dist/cjs/app/application.d.ts.map +1 -0
- package/dist/cjs/app/application.js +68 -0
- package/dist/cjs/app/application.js.map +1 -0
- package/dist/cjs/app/boot.d.ts +64 -0
- package/dist/cjs/app/boot.d.ts.map +1 -0
- package/dist/cjs/app/boot.js +138 -0
- package/dist/cjs/app/boot.js.map +1 -0
- package/dist/cjs/app/dir.d.ts +12 -0
- package/dist/cjs/app/dir.d.ts.map +1 -0
- package/dist/cjs/app/dir.js +88 -0
- package/dist/cjs/app/dir.js.map +1 -0
- package/dist/cjs/app/events.d.ts +71 -0
- package/dist/cjs/app/events.d.ts.map +1 -0
- package/dist/cjs/app/events.js +124 -0
- package/dist/cjs/app/events.js.map +1 -0
- package/dist/cjs/config/config_loader.d.ts +54 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -0
- package/dist/cjs/config/config_loader.js +137 -0
- package/dist/cjs/config/config_loader.js.map +1 -0
- package/dist/cjs/config/default_config.d.ts +8 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -0
- package/dist/cjs/config/default_config.js +196 -0
- package/dist/cjs/config/default_config.js.map +1 -0
- package/dist/cjs/config/index.d.ts +34 -0
- package/dist/cjs/config/index.d.ts.map +1 -0
- package/dist/cjs/config/index.js +69 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/const/channel.d.ts +34 -0
- package/dist/cjs/const/channel.d.ts.map +1 -0
- package/dist/cjs/const/channel.js +37 -0
- package/dist/cjs/const/channel.js.map +1 -0
- package/dist/cjs/controller/controller_loader.d.ts +29 -0
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -0
- package/dist/cjs/controller/controller_loader.js +158 -0
- package/dist/cjs/controller/controller_loader.js.map +1 -0
- package/dist/cjs/controller/index.d.ts +36 -0
- package/dist/cjs/controller/index.d.ts.map +1 -0
- package/dist/cjs/controller/index.js +88 -0
- package/dist/cjs/controller/index.js.map +1 -0
- package/dist/cjs/core/loader/file_loader.d.ts +112 -0
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -0
- package/dist/cjs/core/loader/file_loader.js +283 -0
- package/dist/cjs/core/loader/file_loader.js.map +1 -0
- package/dist/cjs/core/utils/index.d.ts +70 -0
- package/dist/cjs/core/utils/index.d.ts.map +1 -0
- package/dist/cjs/core/utils/index.js +181 -0
- package/dist/cjs/core/utils/index.js.map +1 -0
- package/dist/cjs/core/utils/timing.d.ts +65 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -0
- package/dist/cjs/core/utils/timing.js +107 -0
- package/dist/cjs/core/utils/timing.js.map +1 -0
- package/dist/cjs/cross/cross.d.ts +104 -0
- package/dist/cjs/cross/cross.d.ts.map +1 -0
- package/dist/cjs/cross/cross.js +202 -0
- package/dist/cjs/cross/cross.js.map +1 -0
- package/dist/cjs/cross/crossProcess.d.ts +118 -0
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -0
- package/dist/cjs/cross/crossProcess.js +262 -0
- package/dist/cjs/cross/crossProcess.js.map +1 -0
- package/dist/cjs/cross/index.d.ts +4 -0
- package/dist/cjs/cross/index.d.ts.map +1 -0
- package/dist/cjs/cross/index.js +9 -0
- package/dist/cjs/cross/index.js.map +1 -0
- package/dist/cjs/electron/app/index.d.ts +23 -0
- package/dist/cjs/electron/app/index.d.ts.map +1 -0
- package/dist/cjs/electron/app/index.js +99 -0
- package/dist/cjs/electron/app/index.js.map +1 -0
- package/dist/cjs/electron/index.d.ts +10 -0
- package/dist/cjs/electron/index.d.ts.map +1 -0
- package/dist/cjs/electron/index.js +35 -0
- package/dist/cjs/electron/index.js.map +1 -0
- package/dist/cjs/electron/window/index.d.ts +45 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -0
- package/dist/cjs/electron/window/index.js +311 -0
- package/dist/cjs/electron/window/index.js.map +1 -0
- package/dist/cjs/exception/index.d.ts +15 -0
- package/dist/cjs/exception/index.d.ts.map +1 -0
- package/dist/cjs/exception/index.js +145 -0
- package/dist/cjs/exception/index.js.map +1 -0
- package/dist/cjs/html/index.d.ts +21 -0
- package/dist/cjs/html/index.d.ts.map +1 -0
- package/dist/cjs/html/index.js +59 -0
- package/dist/cjs/html/index.js.map +1 -0
- package/dist/cjs/index.d.ts +60 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +245 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/jobs/child/app.d.ts +2 -0
- package/dist/cjs/jobs/child/app.d.ts.map +1 -0
- package/dist/cjs/jobs/child/app.js +132 -0
- package/dist/cjs/jobs/child/app.js.map +1 -0
- package/dist/cjs/jobs/child/index.d.ts +29 -0
- package/dist/cjs/jobs/child/index.d.ts.map +1 -0
- package/dist/cjs/jobs/child/index.js +78 -0
- package/dist/cjs/jobs/child/index.js.map +1 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts +102 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -0
- package/dist/cjs/jobs/child/jobProcess.js +196 -0
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -0
- package/dist/cjs/jobs/child-pool/index.d.ts +126 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -0
- package/dist/cjs/jobs/child-pool/index.js +252 -0
- package/dist/cjs/jobs/child-pool/index.js.map +1 -0
- package/dist/cjs/jobs/index.d.ts +18 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -0
- package/dist/cjs/jobs/index.js +22 -0
- package/dist/cjs/jobs/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +7 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +32 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +15 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +12 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +18 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +26 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts +35 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/consts.js +36 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/index.d.ts +84 -0
- package/dist/cjs/jobs/load-balancer/index.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/index.js +195 -0
- package/dist/cjs/jobs/load-balancer/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +17 -0
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/scheduler.js +36 -0
- package/dist/cjs/jobs/load-balancer/scheduler.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts +43 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/types.js +7 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -0
- 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 +58 -0
- package/dist/cjs/loader/index.d.ts.map +1 -0
- package/dist/cjs/loader/index.js +151 -0
- package/dist/cjs/loader/index.js.map +1 -0
- package/dist/cjs/log/index.d.ts +59 -0
- package/dist/cjs/log/index.d.ts.map +1 -0
- package/dist/cjs/log/index.js +123 -0
- package/dist/cjs/log/index.js.map +1 -0
- package/dist/cjs/log/logger.d.ts +35 -0
- package/dist/cjs/log/logger.d.ts.map +1 -0
- package/dist/cjs/log/logger.js +246 -0
- package/dist/cjs/log/logger.js.map +1 -0
- package/dist/cjs/message/childMessage.d.ts +58 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -0
- package/dist/cjs/message/childMessage.js +118 -0
- package/dist/cjs/message/childMessage.js.map +1 -0
- package/dist/cjs/message/index.d.ts +2 -0
- package/dist/cjs/message/index.d.ts.map +1 -0
- package/dist/cjs/message/index.js +7 -0
- package/dist/cjs/message/index.js.map +1 -0
- package/dist/cjs/ps/index.d.ts +155 -0
- package/dist/cjs/ps/index.d.ts.map +1 -0
- package/dist/cjs/ps/index.js +369 -0
- package/dist/cjs/ps/index.js.map +1 -0
- package/dist/cjs/socket/httpServer.d.ts +74 -0
- package/dist/cjs/socket/httpServer.d.ts.map +1 -0
- package/dist/cjs/socket/httpServer.js +240 -0
- package/dist/cjs/socket/httpServer.js.map +1 -0
- package/dist/cjs/socket/index.d.ts +60 -0
- package/dist/cjs/socket/index.d.ts.map +1 -0
- package/dist/cjs/socket/index.js +103 -0
- package/dist/cjs/socket/index.js.map +1 -0
- package/dist/cjs/socket/ipcServer.d.ts +40 -0
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -0
- package/dist/cjs/socket/ipcServer.js +124 -0
- package/dist/cjs/socket/ipcServer.js.map +1 -0
- package/dist/cjs/socket/socketServer.d.ts +43 -0
- package/dist/cjs/socket/socketServer.d.ts.map +1 -0
- package/dist/cjs/socket/socketServer.js +116 -0
- package/dist/cjs/socket/socketServer.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +6 -0
- package/dist/cjs/storage/index.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +117 -0
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -0
- package/dist/cjs/storage/sqliteStorage.js +197 -0
- package/dist/cjs/storage/sqliteStorage.js.map +1 -0
- package/dist/cjs/types/index.d.ts +524 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/extend.d.ts +46 -0
- package/dist/cjs/utils/extend.d.ts.map +1 -0
- package/dist/cjs/utils/extend.js +105 -0
- package/dist/cjs/utils/extend.js.map +1 -0
- package/dist/cjs/utils/helper.d.ts +169 -0
- package/dist/cjs/utils/helper.d.ts.map +1 -0
- package/dist/cjs/utils/helper.js +351 -0
- package/dist/cjs/utils/helper.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +113 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +344 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/ip.d.ts +42 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -0
- package/dist/cjs/utils/ip.js +276 -0
- package/dist/cjs/utils/ip.js.map +1 -0
- package/dist/cjs/utils/is.d.ts +138 -0
- package/dist/cjs/utils/is.d.ts.map +1 -0
- package/dist/cjs/utils/is.js +203 -0
- package/dist/cjs/utils/is.js.map +1 -0
- package/dist/cjs/utils/json.d.ts +64 -0
- package/dist/cjs/utils/json.d.ts.map +1 -0
- package/dist/cjs/utils/json.js +122 -0
- package/dist/cjs/utils/json.js.map +1 -0
- package/dist/cjs/utils/pargv.d.ts +67 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -0
- package/dist/cjs/utils/pargv.js +406 -0
- package/dist/cjs/utils/pargv.js.map +1 -0
- package/dist/cjs/utils/port/index.d.ts +48 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -0
- package/dist/cjs/utils/port/index.js +235 -0
- package/dist/cjs/utils/port/index.js.map +1 -0
- package/dist/cjs/utils/type_check.d.ts +88 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -0
- package/dist/cjs/utils/type_check.js +121 -0
- package/dist/cjs/utils/type_check.js.map +1 -0
- package/dist/cjs/utils/wrap.d.ts +31 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -0
- package/dist/cjs/utils/wrap.js +88 -0
- package/dist/cjs/utils/wrap.js.map +1 -0
- package/dist/esm/app/application.d.ts +41 -0
- package/dist/esm/app/application.d.ts.map +1 -0
- package/dist/esm/app/application.js +68 -0
- package/dist/esm/app/application.js.map +1 -0
- package/dist/esm/app/boot.d.ts +64 -0
- package/dist/esm/app/boot.d.ts.map +1 -0
- package/dist/esm/app/boot.js +138 -0
- package/dist/esm/app/boot.js.map +1 -0
- package/dist/esm/app/dir.d.ts +12 -0
- package/dist/esm/app/dir.d.ts.map +1 -0
- package/dist/esm/app/dir.js +88 -0
- package/dist/esm/app/dir.js.map +1 -0
- package/dist/esm/app/events.d.ts +71 -0
- package/dist/esm/app/events.d.ts.map +1 -0
- package/dist/esm/app/events.js +124 -0
- package/dist/esm/app/events.js.map +1 -0
- package/dist/esm/config/config_loader.d.ts +54 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -0
- package/dist/esm/config/config_loader.js +137 -0
- package/dist/esm/config/config_loader.js.map +1 -0
- package/dist/esm/config/default_config.d.ts +8 -0
- package/dist/esm/config/default_config.d.ts.map +1 -0
- package/dist/esm/config/default_config.js +196 -0
- package/dist/esm/config/default_config.js.map +1 -0
- package/dist/esm/config/index.d.ts +34 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.js +69 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/const/channel.d.ts +34 -0
- package/dist/esm/const/channel.d.ts.map +1 -0
- package/dist/esm/const/channel.js +37 -0
- package/dist/esm/const/channel.js.map +1 -0
- package/dist/esm/controller/controller_loader.d.ts +29 -0
- package/dist/esm/controller/controller_loader.d.ts.map +1 -0
- package/dist/esm/controller/controller_loader.js +158 -0
- package/dist/esm/controller/controller_loader.js.map +1 -0
- package/dist/esm/controller/index.d.ts +36 -0
- package/dist/esm/controller/index.d.ts.map +1 -0
- package/dist/esm/controller/index.js +88 -0
- package/dist/esm/controller/index.js.map +1 -0
- package/dist/esm/core/loader/file_loader.d.ts +112 -0
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -0
- package/dist/esm/core/loader/file_loader.js +283 -0
- package/dist/esm/core/loader/file_loader.js.map +1 -0
- package/dist/esm/core/utils/index.d.ts +70 -0
- package/dist/esm/core/utils/index.d.ts.map +1 -0
- package/dist/esm/core/utils/index.js +148 -0
- package/dist/esm/core/utils/index.js.map +1 -0
- package/dist/esm/core/utils/timing.d.ts +65 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -0
- package/dist/esm/core/utils/timing.js +107 -0
- package/dist/esm/core/utils/timing.js.map +1 -0
- package/dist/esm/cross/cross.d.ts +104 -0
- package/dist/esm/cross/cross.d.ts.map +1 -0
- package/dist/esm/cross/cross.js +202 -0
- package/dist/esm/cross/cross.js.map +1 -0
- package/dist/esm/cross/crossProcess.d.ts +118 -0
- package/dist/esm/cross/crossProcess.d.ts.map +1 -0
- package/dist/esm/cross/crossProcess.js +262 -0
- package/dist/esm/cross/crossProcess.js.map +1 -0
- package/dist/esm/cross/index.d.ts +4 -0
- package/dist/esm/cross/index.d.ts.map +1 -0
- package/dist/esm/cross/index.js +9 -0
- package/dist/esm/cross/index.js.map +1 -0
- package/dist/esm/electron/app/index.d.ts +23 -0
- package/dist/esm/electron/app/index.d.ts.map +1 -0
- package/dist/esm/electron/app/index.js +99 -0
- package/dist/esm/electron/app/index.js.map +1 -0
- package/dist/esm/electron/index.d.ts +10 -0
- package/dist/esm/electron/index.d.ts.map +1 -0
- package/dist/esm/electron/index.js +35 -0
- package/dist/esm/electron/index.js.map +1 -0
- package/dist/esm/electron/window/index.d.ts +45 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -0
- package/dist/esm/electron/window/index.js +311 -0
- package/dist/esm/electron/window/index.js.map +1 -0
- package/dist/esm/exception/index.d.ts +15 -0
- package/dist/esm/exception/index.d.ts.map +1 -0
- package/dist/esm/exception/index.js +145 -0
- package/dist/esm/exception/index.js.map +1 -0
- package/dist/esm/html/index.d.ts +21 -0
- package/dist/esm/html/index.d.ts.map +1 -0
- package/dist/esm/html/index.js +59 -0
- package/dist/esm/html/index.js.map +1 -0
- package/dist/esm/index.d.ts +60 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +245 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/jobs/child/app.d.ts +2 -0
- package/dist/esm/jobs/child/app.d.ts.map +1 -0
- package/dist/esm/jobs/child/app.js +132 -0
- package/dist/esm/jobs/child/app.js.map +1 -0
- package/dist/esm/jobs/child/index.d.ts +29 -0
- package/dist/esm/jobs/child/index.d.ts.map +1 -0
- package/dist/esm/jobs/child/index.js +78 -0
- package/dist/esm/jobs/child/index.js.map +1 -0
- package/dist/esm/jobs/child/jobProcess.d.ts +102 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -0
- package/dist/esm/jobs/child/jobProcess.js +196 -0
- package/dist/esm/jobs/child/jobProcess.js.map +1 -0
- package/dist/esm/jobs/child-pool/index.d.ts +126 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -0
- package/dist/esm/jobs/child-pool/index.js +252 -0
- package/dist/esm/jobs/child-pool/index.js.map +1 -0
- package/dist/esm/jobs/index.d.ts +18 -0
- package/dist/esm/jobs/index.d.ts.map +1 -0
- package/dist/esm/jobs/index.js +22 -0
- package/dist/esm/jobs/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +7 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js +32 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +15 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.js +12 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +18 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +26 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts +35 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/consts.js +36 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -0
- package/dist/esm/jobs/load-balancer/index.d.ts +84 -0
- package/dist/esm/jobs/load-balancer/index.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/index.js +195 -0
- package/dist/esm/jobs/load-balancer/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +17 -0
- package/dist/esm/jobs/load-balancer/scheduler.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/scheduler.js +36 -0
- package/dist/esm/jobs/load-balancer/scheduler.js.map +1 -0
- package/dist/esm/jobs/load-balancer/types.d.ts +43 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/types.js +7 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -0
- 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 +58 -0
- package/dist/esm/loader/index.d.ts.map +1 -0
- package/dist/esm/loader/index.js +151 -0
- package/dist/esm/loader/index.js.map +1 -0
- package/dist/esm/log/index.d.ts +59 -0
- package/dist/esm/log/index.d.ts.map +1 -0
- package/dist/esm/log/index.js +123 -0
- package/dist/esm/log/index.js.map +1 -0
- package/dist/esm/log/logger.d.ts +35 -0
- package/dist/esm/log/logger.d.ts.map +1 -0
- package/dist/esm/log/logger.js +246 -0
- package/dist/esm/log/logger.js.map +1 -0
- package/dist/esm/message/childMessage.d.ts +58 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -0
- package/dist/esm/message/childMessage.js +118 -0
- package/dist/esm/message/childMessage.js.map +1 -0
- package/dist/esm/message/index.d.ts +2 -0
- package/dist/esm/message/index.d.ts.map +1 -0
- package/dist/esm/message/index.js +7 -0
- package/dist/esm/message/index.js.map +1 -0
- package/dist/esm/ps/index.d.ts +155 -0
- package/dist/esm/ps/index.d.ts.map +1 -0
- package/dist/esm/ps/index.js +369 -0
- package/dist/esm/ps/index.js.map +1 -0
- package/dist/esm/socket/httpServer.d.ts +74 -0
- package/dist/esm/socket/httpServer.d.ts.map +1 -0
- package/dist/esm/socket/httpServer.js +240 -0
- package/dist/esm/socket/httpServer.js.map +1 -0
- package/dist/esm/socket/index.d.ts +60 -0
- package/dist/esm/socket/index.d.ts.map +1 -0
- package/dist/esm/socket/index.js +103 -0
- package/dist/esm/socket/index.js.map +1 -0
- package/dist/esm/socket/ipcServer.d.ts +40 -0
- package/dist/esm/socket/ipcServer.d.ts.map +1 -0
- package/dist/esm/socket/ipcServer.js +124 -0
- package/dist/esm/socket/ipcServer.js.map +1 -0
- package/dist/esm/socket/socketServer.d.ts +43 -0
- package/dist/esm/socket/socketServer.d.ts.map +1 -0
- package/dist/esm/socket/socketServer.js +116 -0
- package/dist/esm/socket/socketServer.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/esm/storage/index.d.ts.map +1 -0
- package/dist/esm/storage/index.js +6 -0
- package/dist/esm/storage/index.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +117 -0
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -0
- package/dist/esm/storage/sqliteStorage.js +197 -0
- package/dist/esm/storage/sqliteStorage.js.map +1 -0
- package/dist/esm/types/index.d.ts +524 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/extend.d.ts +46 -0
- package/dist/esm/utils/extend.d.ts.map +1 -0
- package/dist/esm/utils/extend.js +105 -0
- package/dist/esm/utils/extend.js.map +1 -0
- package/dist/esm/utils/helper.d.ts +169 -0
- package/dist/esm/utils/helper.d.ts.map +1 -0
- package/dist/esm/utils/helper.js +351 -0
- package/dist/esm/utils/helper.js.map +1 -0
- package/dist/esm/utils/index.d.ts +113 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +344 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/ip.d.ts +42 -0
- package/dist/esm/utils/ip.d.ts.map +1 -0
- package/dist/esm/utils/ip.js +276 -0
- package/dist/esm/utils/ip.js.map +1 -0
- package/dist/esm/utils/is.d.ts +138 -0
- package/dist/esm/utils/is.d.ts.map +1 -0
- package/dist/esm/utils/is.js +203 -0
- package/dist/esm/utils/is.js.map +1 -0
- package/dist/esm/utils/json.d.ts +64 -0
- package/dist/esm/utils/json.d.ts.map +1 -0
- package/dist/esm/utils/json.js +122 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/pargv.d.ts +67 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -0
- package/dist/esm/utils/pargv.js +406 -0
- package/dist/esm/utils/pargv.js.map +1 -0
- package/dist/esm/utils/port/index.d.ts +48 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -0
- package/dist/esm/utils/port/index.js +235 -0
- package/dist/esm/utils/port/index.js.map +1 -0
- package/dist/esm/utils/type_check.d.ts +88 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -0
- package/dist/esm/utils/type_check.js +121 -0
- package/dist/esm/utils/type_check.js.map +1 -0
- package/dist/esm/utils/wrap.d.ts +31 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -0
- package/dist/esm/utils/wrap.js +88 -0
- package/dist/esm/utils/wrap.js.map +1 -0
- package/package.json +424 -27
- package/LICENSE +0 -21
- package/README.md +0 -66
- package/app/application.d.ts +0 -5
- package/app/application.js +0 -31
- package/app/boot.d.ts +0 -5
- package/app/boot.js +0 -81
- package/app/dir.d.ts +0 -1
- package/app/dir.js +0 -27
- package/app/events.d.ts +0 -14
- package/app/events.js +0 -56
- package/app/index.d.ts +0 -2
- package/app/index.js +0 -7
- package/config/config_loader.d.ts +0 -13
- package/config/config_loader.js +0 -66
- package/config/default_config.d.ts +0 -95
- package/config/default_config.js +0 -111
- package/config/index.d.ts +0 -28
- package/config/index.js +0 -25
- package/const/channel.d.ts +0 -16
- package/const/channel.js +0 -28
- package/controller/controller_loader.d.ts +0 -9
- package/controller/controller_loader.js +0 -78
- package/controller/index.d.ts +0 -2
- package/controller/index.js +0 -24
- package/core/index.d.ts +0 -2
- package/core/index.js +0 -12
- package/core/loader/file_loader.d.ts +0 -66
- package/core/loader/file_loader.js +0 -212
- package/core/utils/index.d.ts +0 -12
- package/core/utils/index.js +0 -83
- package/core/utils/timing.d.ts +0 -22
- package/core/utils/timing.js +0 -78
- package/cross/cross.d.ts +0 -19
- package/cross/cross.js +0 -153
- package/cross/crossProcess.d.ts +0 -29
- package/cross/crossProcess.js +0 -173
- package/cross/index.d.ts +0 -2
- package/cross/index.js +0 -8
- package/electron/app/index.d.ts +0 -5
- package/electron/app/index.js +0 -48
- package/electron/index.d.ts +0 -3
- package/electron/index.js +0 -16
- package/electron/window/index.d.ts +0 -6
- package/electron/window/index.js +0 -269
- package/exception/index.d.ts +0 -9
- package/exception/index.js +0 -101
- package/html/boot.html +0 -98
- package/html/cross-failure.html +0 -28
- package/html/failure.html +0 -28
- package/html/index.d.ts +0 -1
- package/html/index.js +0 -11
- package/index.d.ts +0 -2
- package/index.js +0 -7
- package/jobs/child/app.d.ts +0 -1
- package/jobs/child/app.js +0 -70
- package/jobs/child/index.d.ts +0 -13
- package/jobs/child/index.js +0 -85
- package/jobs/child/jobProcess.d.ts +0 -16
- package/jobs/child/jobProcess.js +0 -134
- package/jobs/child-pool/index.d.ts +0 -26
- package/jobs/child-pool/index.js +0 -190
- package/jobs/index.d.ts +0 -3
- package/jobs/index.js +0 -7
- package/jobs/load-balancer/algorithm/index.d.ts +0 -4
- package/jobs/load-balancer/algorithm/index.js +0 -12
- package/jobs/load-balancer/algorithm/minimumConnection.d.ts +0 -2
- package/jobs/load-balancer/algorithm/minimumConnection.js +0 -19
- package/jobs/load-balancer/algorithm/polling.d.ts +0 -2
- package/jobs/load-balancer/algorithm/polling.js +0 -12
- package/jobs/load-balancer/algorithm/random.d.ts +0 -2
- package/jobs/load-balancer/algorithm/random.js +0 -10
- package/jobs/load-balancer/algorithm/specify.d.ts +0 -2
- package/jobs/load-balancer/algorithm/specify.js +0 -15
- package/jobs/load-balancer/algorithm/weights.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weights.js +0 -22
- package/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +0 -30
- package/jobs/load-balancer/algorithm/weightsPolling.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weightsPolling.js +0 -23
- package/jobs/load-balancer/algorithm/weightsRandom.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weightsRandom.js +0 -17
- package/jobs/load-balancer/consts.d.ts +0 -8
- package/jobs/load-balancer/consts.js +0 -10
- package/jobs/load-balancer/index.d.ts +0 -96
- package/jobs/load-balancer/index.js +0 -202
- package/jobs/load-balancer/scheduler.d.ts +0 -16
- package/jobs/load-balancer/scheduler.js +0 -32
- package/loader/index.d.ts +0 -9
- package/loader/index.js +0 -99
- package/log/index.d.ts +0 -5
- package/log/index.js +0 -86
- package/log/logger.d.ts +0 -2
- package/log/logger.js +0 -95
- package/message/childMessage.d.ts +0 -10
- package/message/childMessage.js +0 -43
- package/message/index.d.ts +0 -3
- package/message/index.js +0 -10
- package/ps/index.d.ts +0 -39
- package/ps/index.js +0 -295
- package/socket/httpServer.d.ts +0 -8
- package/socket/httpServer.js +0 -199
- package/socket/index.d.ts +0 -10
- package/socket/index.js +0 -65
- package/socket/ipcServer.d.ts +0 -9
- package/socket/ipcServer.js +0 -106
- package/socket/socketServer.d.ts +0 -10
- package/socket/socketServer.js +0 -82
- package/storage/index.d.ts +0 -5
- package/storage/index.js +0 -7
- package/storage/sqliteStorage.d.ts +0 -16
- package/storage/sqliteStorage.js +0 -124
- package/tsconfig.json +0 -14
- package/utils/extend.d.ts +0 -2
- package/utils/extend.js +0 -78
- package/utils/helper.d.ts +0 -14
- package/utils/helper.js +0 -207
- package/utils/index.d.ts +0 -11
- package/utils/index.js +0 -198
- package/utils/ip.d.ts +0 -2
- package/utils/ip.js +0 -221
- package/utils/is.d.ts +0 -14
- package/utils/is.js +0 -112
- package/utils/json.d.ts +0 -5
- package/utils/json.js +0 -80
- package/utils/pargv.d.ts +0 -3
- package/utils/pargv.js +0 -267
- package/utils/port/index.d.ts +0 -1
- package/utils/port/index.js +0 -126
- package/utils/wrap.d.ts +0 -4
- package/utils/wrap.js +0 -41
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/**
|
|
7
|
+
* @module jobs/load-balancer/algorithm
|
|
8
|
+
* @description Load balancing algorithm registry. Maps algorithm type names to their corresponding
|
|
9
|
+
* algorithm functions, for use by the Scheduler.
|
|
10
|
+
*/
|
|
11
|
+
const consts_js_1 = require("../consts.js");
|
|
12
|
+
const polling_js_1 = __importDefault(require("./polling.js"));
|
|
13
|
+
const weights_js_1 = __importDefault(require("./weights.js"));
|
|
14
|
+
const random_js_1 = __importDefault(require("./random.js"));
|
|
15
|
+
const specify_js_1 = __importDefault(require("./specify.js"));
|
|
16
|
+
const minimumConnection_js_1 = __importDefault(require("./minimumConnection.js"));
|
|
17
|
+
const weightsPolling_js_1 = __importDefault(require("./weightsPolling.js"));
|
|
18
|
+
const weightsRandom_js_1 = __importDefault(require("./weightsRandom.js"));
|
|
19
|
+
const weightsMinimumConnection_js_1 = __importDefault(require("./weightsMinimumConnection.js"));
|
|
20
|
+
/** Algorithm name -> algorithm function mapping */
|
|
21
|
+
const algorithms = {
|
|
22
|
+
[consts_js_1.AlgorithmType.polling]: polling_js_1.default,
|
|
23
|
+
[consts_js_1.AlgorithmType.weights]: weights_js_1.default,
|
|
24
|
+
[consts_js_1.AlgorithmType.random]: random_js_1.default,
|
|
25
|
+
[consts_js_1.AlgorithmType.specify]: specify_js_1.default,
|
|
26
|
+
[consts_js_1.AlgorithmType.minimumConnection]: minimumConnection_js_1.default,
|
|
27
|
+
[consts_js_1.AlgorithmType.weightsPolling]: weightsPolling_js_1.default,
|
|
28
|
+
[consts_js_1.AlgorithmType.weightsRandom]: weightsRandom_js_1.default,
|
|
29
|
+
[consts_js_1.AlgorithmType.weightsMinimumConnection]: weightsMinimumConnection_js_1.default,
|
|
30
|
+
};
|
|
31
|
+
exports.default = algorithms;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;GAIG;AACH,4CAA6C;AAC7C,8DAAmC;AACnC,8DAAmC;AACnC,4DAAiC;AACjC,8DAAmC;AACnC,kFAAuD;AACvD,4EAAiD;AACjD,0EAA+C;AAC/C,gGAAqE;AASrE,mDAAmD;AACnD,MAAM,UAAU,GAAgC;IAC9C,CAAC,yBAAa,CAAC,OAAO,CAAC,EAAE,oBAAsB;IAC/C,CAAC,yBAAa,CAAC,OAAO,CAAC,EAAE,oBAAsB;IAC/C,CAAC,yBAAa,CAAC,MAAM,CAAC,EAAE,mBAAqB;IAC7C,CAAC,yBAAa,CAAC,OAAO,CAAC,EAAE,oBAAsB;IAC/C,CAAC,yBAAa,CAAC,iBAAiB,CAAC,EAAE,8BAAgC;IACnE,CAAC,yBAAa,CAAC,cAAc,CAAC,EAAE,2BAA6B;IAC7D,CAAC,yBAAa,CAAC,aAAa,CAAC,EAAE,0BAA4B;IAC3D,CAAC,yBAAa,CAAC,wBAAwB,CAAC,EAAE,qCAAuC;CAClF,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadBalancerTarget } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Least connections algorithm
|
|
4
|
+
*/
|
|
5
|
+
export default function minimumConnection(tasks: LoadBalancerTarget[], conMap?: Record<string | number, number>): LoadBalancerTarget | null;
|
|
6
|
+
//# sourceMappingURL=minimumConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimumConnection.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/minimumConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,MAAM,GAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAM,GAC3C,kBAAkB,GAAG,IAAI,CAoB3B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = minimumConnection;
|
|
4
|
+
/**
|
|
5
|
+
* Least connections algorithm
|
|
6
|
+
*/
|
|
7
|
+
function minimumConnection(tasks, conMap = {}) {
|
|
8
|
+
if (tasks.length < 2)
|
|
9
|
+
return tasks[0] || null;
|
|
10
|
+
const first = tasks[0];
|
|
11
|
+
if (!first)
|
|
12
|
+
return null;
|
|
13
|
+
let min = conMap[first.id] || 0;
|
|
14
|
+
let minIndex = 0;
|
|
15
|
+
for (let i = 1; i < tasks.length; i++) {
|
|
16
|
+
const task = tasks[i];
|
|
17
|
+
if (!task)
|
|
18
|
+
continue;
|
|
19
|
+
const con = conMap[task.id] || 0;
|
|
20
|
+
if (con <= min) {
|
|
21
|
+
min = con;
|
|
22
|
+
minIndex = i;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return tasks[minIndex] || null;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=minimumConnection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimumConnection.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/minimumConnection.ts"],"names":[],"mappings":";;AAKA,oCAuBC;AA1BD;;GAEG;AACH,SAAwB,iBAAiB,CACvC,KAA2B,EAC3B,SAA0C,EAAE;IAE5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,GAAG,GAAG,CAAC;YACV,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadBalancerTarget, LoadBalancerParams } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Round-robin polling algorithm
|
|
4
|
+
*/
|
|
5
|
+
export default function polling(tasks: LoadBalancerTarget[], currentIndex: number, context: LoadBalancerParams): LoadBalancerTarget | null;
|
|
6
|
+
//# sourceMappingURL=polling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/polling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,kBAAkB,GAAG,IAAI,CAQ3B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = polling;
|
|
4
|
+
/**
|
|
5
|
+
* Round-robin polling algorithm
|
|
6
|
+
*/
|
|
7
|
+
function polling(tasks, currentIndex, context) {
|
|
8
|
+
if (!tasks.length)
|
|
9
|
+
return null;
|
|
10
|
+
const task = tasks[currentIndex];
|
|
11
|
+
context.currentIndex++;
|
|
12
|
+
context.currentIndex %= tasks.length;
|
|
13
|
+
return task || null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=polling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/polling.ts"],"names":[],"mappings":";;AAKA,0BAYC;AAfD;;GAEG;AACH,SAAwB,OAAO,CAC7B,KAA2B,EAC3B,YAAoB,EACpB,OAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,YAAY,EAAE,CAAC;IACvB,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;IAErC,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/random.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,GAAG,IAAI,CAKrF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = random;
|
|
4
|
+
/**
|
|
5
|
+
* Random selection algorithm
|
|
6
|
+
*/
|
|
7
|
+
function random(tasks) {
|
|
8
|
+
const length = tasks.length;
|
|
9
|
+
const target = tasks[Math.floor(Math.random() * length)];
|
|
10
|
+
return target || null;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/random.ts"],"names":[],"mappings":";;AAKA,yBAKC;AARD;;GAEG;AACH,SAAwB,MAAM,CAAC,KAA2B;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAEzD,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specify.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/specify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,kBAAkB,GAAG,IAAI,CAY3B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = specify;
|
|
4
|
+
/**
|
|
5
|
+
* Specify (bind by ID) algorithm
|
|
6
|
+
*/
|
|
7
|
+
function specify(tasks, id) {
|
|
8
|
+
let task;
|
|
9
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
10
|
+
const t = tasks[i];
|
|
11
|
+
if (t && t.id === id) {
|
|
12
|
+
task = t;
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return task || null;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=specify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specify.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/specify.ts"],"names":[],"mappings":";;AAKA,0BAeC;AAlBD;;GAEG;AACH,SAAwB,OAAO,CAC7B,KAA2B,EAC3B,EAAmB;IAEnB,IAAI,IAAoC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,CAAC;YACT,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadBalancerTarget, LoadBalancerParams } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Weighted algorithm
|
|
4
|
+
*/
|
|
5
|
+
export default function weights(tasks: LoadBalancerTarget[], weightTotal: number, context: LoadBalancerParams): LoadBalancerTarget | null;
|
|
6
|
+
//# sourceMappingURL=weights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weights.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,kBAAkB,GAAG,IAAI,CAoB3B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = weights;
|
|
4
|
+
/**
|
|
5
|
+
* Weighted algorithm
|
|
6
|
+
*/
|
|
7
|
+
function weights(tasks, weightTotal, context) {
|
|
8
|
+
if (!tasks.length)
|
|
9
|
+
return null;
|
|
10
|
+
let max = -Infinity;
|
|
11
|
+
let maxIndex = 0;
|
|
12
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
13
|
+
const task = tasks[i];
|
|
14
|
+
if (!task)
|
|
15
|
+
continue;
|
|
16
|
+
const sum = (task.weight || 0) + Math.random() * weightTotal;
|
|
17
|
+
if (sum > max) {
|
|
18
|
+
max = sum;
|
|
19
|
+
maxIndex = i;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
context.weightIndex += 1;
|
|
23
|
+
context.weightIndex %= weightTotal + 1;
|
|
24
|
+
return tasks[maxIndex] || null;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=weights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weights.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weights.ts"],"names":[],"mappings":";;AAKA,0BAwBC;AA3BD;;GAEG;AACH,SAAwB,OAAO,CAC7B,KAA2B,EAC3B,WAAmB,EACnB,OAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/B,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC;QAC7D,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,GAAG,CAAC;YACV,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC;IAEvC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadBalancerTarget, LoadBalancerParams } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Weighted least connections algorithm
|
|
4
|
+
*/
|
|
5
|
+
export default function weightsMinimumConnection(tasks: LoadBalancerTarget[], weightTotal: number, connectionsMap: Record<string | number, number>, context: LoadBalancerParams): LoadBalancerTarget | null;
|
|
6
|
+
//# sourceMappingURL=weightsMinimumConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weightsMinimumConnection.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weightsMinimumConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAC/C,OAAO,EAAE,kBAAkB,GAC1B,kBAAkB,GAAG,IAAI,CA4B3B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = weightsMinimumConnection;
|
|
4
|
+
/**
|
|
5
|
+
* Weighted least connections algorithm
|
|
6
|
+
*/
|
|
7
|
+
function weightsMinimumConnection(tasks, weightTotal, connectionsMap, context) {
|
|
8
|
+
if (!tasks.length)
|
|
9
|
+
return null;
|
|
10
|
+
let min = Infinity;
|
|
11
|
+
let minIndex = 0;
|
|
12
|
+
const connectionsTotal = tasks.reduce((total, cur) => {
|
|
13
|
+
total += connectionsMap[cur.id] || 0;
|
|
14
|
+
return total;
|
|
15
|
+
}, 0);
|
|
16
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
17
|
+
const task = tasks[i];
|
|
18
|
+
if (!task)
|
|
19
|
+
continue;
|
|
20
|
+
const sum = (task.weight || 0) +
|
|
21
|
+
Math.random() * weightTotal +
|
|
22
|
+
(((connectionsMap[task.id] || 0) * weightTotal) / (connectionsTotal || 1));
|
|
23
|
+
if (sum < min) {
|
|
24
|
+
min = sum;
|
|
25
|
+
minIndex = i;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
context.weightIndex += 1;
|
|
29
|
+
context.weightIndex %= weightTotal + 1;
|
|
30
|
+
return tasks[minIndex] || null;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=weightsMinimumConnection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weightsMinimumConnection.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weightsMinimumConnection.ts"],"names":[],"mappings":";;AAKA,2CAiCC;AApCD;;GAEG;AACH,SAAwB,wBAAwB,CAC9C,KAA2B,EAC3B,WAAmB,EACnB,cAA+C,EAC/C,OAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/B,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACnD,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,GAAG,GACP,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW;YAC3B,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,GAAG,CAAC;YACV,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC;IAEvC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadBalancerTarget, LoadBalancerParams } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Weighted round-robin algorithm
|
|
4
|
+
*/
|
|
5
|
+
export default function weightsPolling(tasks: LoadBalancerTarget[], weightIndex: number, weightTotal: number, context: LoadBalancerParams): LoadBalancerTarget | null;
|
|
6
|
+
//# sourceMappingURL=weightsPolling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weightsPolling.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weightsPolling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,kBAAkB,GAAG,IAAI,CAoB3B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = weightsPolling;
|
|
4
|
+
/**
|
|
5
|
+
* Weighted round-robin algorithm
|
|
6
|
+
*/
|
|
7
|
+
function weightsPolling(tasks, weightIndex, weightTotal, context) {
|
|
8
|
+
if (!tasks.length)
|
|
9
|
+
return null;
|
|
10
|
+
let weight = 0;
|
|
11
|
+
let task;
|
|
12
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
13
|
+
const t = tasks[i];
|
|
14
|
+
if (!t)
|
|
15
|
+
continue;
|
|
16
|
+
weight += t.weight || 0;
|
|
17
|
+
if (weight > weightIndex) {
|
|
18
|
+
task = t;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
context.weightIndex += 1;
|
|
23
|
+
context.weightIndex %= weightTotal + 1;
|
|
24
|
+
return task || null;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=weightsPolling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weightsPolling.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weightsPolling.ts"],"names":[],"mappings":";;AAKA,iCAyBC;AA5BD;;GAEG;AACH,SAAwB,cAAc,CACpC,KAA2B,EAC3B,WAAmB,EACnB,WAAmB,EACnB,OAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,IAAoC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,CAAC;YACT,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC;IAEvC,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weightsRandom.d.ts","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weightsRandom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,kBAAkB,GAAG,IAAI,CAe3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = weightsRandom;
|
|
4
|
+
/**
|
|
5
|
+
* Weighted random algorithm
|
|
6
|
+
*/
|
|
7
|
+
function weightsRandom(tasks, weightTotal) {
|
|
8
|
+
let task;
|
|
9
|
+
let weight = Math.ceil(Math.random() * weightTotal);
|
|
10
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
11
|
+
const t = tasks[i];
|
|
12
|
+
if (!t)
|
|
13
|
+
continue;
|
|
14
|
+
weight -= t.weight || 0;
|
|
15
|
+
if (weight <= 0) {
|
|
16
|
+
task = t;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return task || null;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=weightsRandom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weightsRandom.js","sourceRoot":"","sources":["../../../../../src/jobs/load-balancer/algorithm/weightsRandom.ts"],"names":[],"mappings":";;AAKA,gCAkBC;AArBD;;GAEG;AACH,SAAwB,aAAa,CACnC,KAA2B,EAC3B,WAAmB;IAEnB,IAAI,IAAoC,CAAC;IACzC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACxB,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,CAAC;YACT,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
*/
|
|
15
|
+
export declare const AlgorithmType: {
|
|
16
|
+
/** Polling: select the next target in sequence */
|
|
17
|
+
readonly polling: "polling";
|
|
18
|
+
/** Weighted: select by weight ratio */
|
|
19
|
+
readonly weights: "weights";
|
|
20
|
+
/** Random: randomly select a target */
|
|
21
|
+
readonly random: "random";
|
|
22
|
+
/** Specify: select a target by ID */
|
|
23
|
+
readonly specify: "specify";
|
|
24
|
+
/** Weighted polling: combines weight and round-robin */
|
|
25
|
+
readonly weightsPolling: "weightsPolling";
|
|
26
|
+
/** Weighted random: combines weight and random selection */
|
|
27
|
+
readonly weightsRandom: "weightsRandom";
|
|
28
|
+
/** Least connections: select the target with the fewest current connections */
|
|
29
|
+
readonly minimumConnection: "minimumConnection";
|
|
30
|
+
/** Weighted least connections: combines weight and least connections */
|
|
31
|
+
readonly weightsMinimumConnection: "weightsMinimumConnection";
|
|
32
|
+
};
|
|
33
|
+
export type AlgorithmTypeKey = keyof typeof AlgorithmType;
|
|
34
|
+
export type AlgorithmTypeValue = typeof AlgorithmType[AlgorithmTypeKey];
|
|
35
|
+
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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
|
+
*/
|
|
18
|
+
exports.AlgorithmType = {
|
|
19
|
+
/** Polling: select the next target in sequence */
|
|
20
|
+
polling: 'polling',
|
|
21
|
+
/** Weighted: select by weight ratio */
|
|
22
|
+
weights: 'weights',
|
|
23
|
+
/** Random: randomly select a target */
|
|
24
|
+
random: 'random',
|
|
25
|
+
/** Specify: select a target by ID */
|
|
26
|
+
specify: 'specify',
|
|
27
|
+
/** Weighted polling: combines weight and round-robin */
|
|
28
|
+
weightsPolling: 'weightsPolling',
|
|
29
|
+
/** Weighted random: combines weight and random selection */
|
|
30
|
+
weightsRandom: 'weightsRandom',
|
|
31
|
+
/** Least connections: select the target with the fewest current connections */
|
|
32
|
+
minimumConnection: 'minimumConnection',
|
|
33
|
+
/** Weighted least connections: combines weight and least connections */
|
|
34
|
+
weightsMinimumConnection: 'weightsMinimumConnection',
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Scheduler } from './scheduler.js';
|
|
2
|
+
import type { LoadBalancerTarget, LoadBalancerParams, LoadBalancerOptions, PidInfo } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Load Balancer
|
|
5
|
+
* @intro Based on the electron-re project with some modifications
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export declare class LoadBalancer {
|
|
9
|
+
static Algorithm: {
|
|
10
|
+
readonly polling: "polling";
|
|
11
|
+
readonly weights: "weights";
|
|
12
|
+
readonly random: "random";
|
|
13
|
+
readonly specify: "specify";
|
|
14
|
+
readonly weightsPolling: "weightsPolling";
|
|
15
|
+
readonly weightsRandom: "weightsRandom";
|
|
16
|
+
readonly minimumConnection: "minimumConnection";
|
|
17
|
+
readonly weightsMinimumConnection: "weightsMinimumConnection";
|
|
18
|
+
};
|
|
19
|
+
targets: LoadBalancerTarget[];
|
|
20
|
+
algorithm: string;
|
|
21
|
+
params: LoadBalancerParams;
|
|
22
|
+
scheduler: Scheduler;
|
|
23
|
+
memoParams: Record<string, (...args: unknown[]) => unknown[]>;
|
|
24
|
+
/**
|
|
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
|
+
*/
|
|
29
|
+
constructor(options: LoadBalancerOptions);
|
|
30
|
+
/**
|
|
31
|
+
* Algorithm parameters
|
|
32
|
+
*/
|
|
33
|
+
memorizedParams(): Record<string, (...args: unknown[]) => unknown[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Refresh parameters
|
|
36
|
+
*/
|
|
37
|
+
refreshParams(pidMap: Record<string | number, PidInfo>): void;
|
|
38
|
+
/**
|
|
39
|
+
* Elect a single process
|
|
40
|
+
*/
|
|
41
|
+
pickOne(...params: unknown[]): LoadBalancerTarget | null;
|
|
42
|
+
/**
|
|
43
|
+
* Elect multiple processes
|
|
44
|
+
*/
|
|
45
|
+
pickMulti(count?: number, ...params: unknown[]): (LoadBalancerTarget | null)[];
|
|
46
|
+
/**
|
|
47
|
+
* Calculate weights
|
|
48
|
+
*/
|
|
49
|
+
calculateWeightIndex(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Calculate index
|
|
52
|
+
*/
|
|
53
|
+
calculateIndex(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Clean data
|
|
56
|
+
*/
|
|
57
|
+
clean(id?: string | number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Add a process entry
|
|
60
|
+
*/
|
|
61
|
+
add(task: LoadBalancerTarget): void;
|
|
62
|
+
/**
|
|
63
|
+
* Delete a process entry
|
|
64
|
+
*/
|
|
65
|
+
del(target: LoadBalancerTarget): void;
|
|
66
|
+
/**
|
|
67
|
+
* Wipe all data
|
|
68
|
+
*/
|
|
69
|
+
wipe(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Update calculation parameters
|
|
72
|
+
*/
|
|
73
|
+
updateParams(object: Partial<LoadBalancerParams>): void;
|
|
74
|
+
/**
|
|
75
|
+
* Set targets
|
|
76
|
+
*/
|
|
77
|
+
setTargets(targets: LoadBalancerTarget[]): void;
|
|
78
|
+
/**
|
|
79
|
+
* Set algorithm
|
|
80
|
+
*/
|
|
81
|
+
setAlgorithm(algorithm: string): void;
|
|
82
|
+
}
|
|
83
|
+
export default LoadBalancer;
|
|
84
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvG;;;;GAIG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,SAAS;;;;;;;;;MAAiB;IAEjC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IAE9D;;;;OAIG;gBACS,OAAO,EAAE,mBAAmB;IAgBxC;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;IAapE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQ7D;;OAEG;IACH,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,GAAG,IAAI;IAWxD;;OAEG;IACH,SAAS,CAAC,KAAK,SAAI,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE;IAIzE;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAO5B;;OAEG;IACH,cAAc,IAAI,IAAI;IAMtB;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBjC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IASnC;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAoBrC;;OAEG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAQvD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAe/C;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAStC;AAED,eAAe,YAAY,CAAC"}
|