ee-core 4.1.5 → 5.0.0-beta.2
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 +6 -0
- package/dist/cjs/app/application.d.ts.map +1 -0
- package/dist/cjs/app/application.js +21 -0
- package/dist/cjs/app/application.js.map +1 -0
- package/dist/cjs/app/boot.d.ts +9 -0
- package/dist/cjs/app/boot.d.ts.map +1 -0
- package/dist/cjs/app/boot.js +75 -0
- package/dist/cjs/app/boot.js.map +1 -0
- package/{app → dist/cjs/app}/dir.d.ts +1 -0
- package/dist/cjs/app/dir.d.ts.map +1 -0
- package/dist/cjs/app/dir.js +27 -0
- package/dist/cjs/app/dir.js.map +1 -0
- package/dist/cjs/app/events.d.ts +15 -0
- package/dist/cjs/app/events.d.ts.map +1 -0
- package/dist/cjs/app/events.js +44 -0
- package/dist/cjs/app/events.js.map +1 -0
- package/dist/cjs/config/config_loader.d.ts +10 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -0
- package/dist/cjs/config/config_loader.js +56 -0
- package/dist/cjs/config/config_loader.js.map +1 -0
- package/dist/cjs/config/default_config.d.ts +3 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -0
- package/dist/cjs/config/default_config.js +109 -0
- package/dist/cjs/config/default_config.js.map +1 -0
- package/dist/cjs/config/index.d.ts +4 -0
- package/dist/cjs/config/index.d.ts.map +1 -0
- package/dist/cjs/config/index.js +17 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/const/channel.d.ts +17 -0
- package/dist/cjs/const/channel.d.ts.map +1 -0
- package/dist/cjs/const/channel.js +20 -0
- package/dist/cjs/const/channel.js.map +1 -0
- package/dist/cjs/controller/controller_loader.d.ts +10 -0
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -0
- package/dist/cjs/controller/controller_loader.js +78 -0
- package/dist/cjs/controller/controller_loader.js.map +1 -0
- package/dist/cjs/controller/index.d.ts +4 -0
- package/dist/cjs/controller/index.d.ts.map +1 -0
- package/dist/cjs/controller/index.js +22 -0
- package/dist/cjs/controller/index.js.map +1 -0
- package/{core → dist/cjs/core}/loader/file_loader.d.ts +25 -30
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -0
- package/dist/cjs/core/loader/file_loader.js +157 -0
- package/dist/cjs/core/loader/file_loader.js.map +1 -0
- package/dist/cjs/core/utils/index.d.ts +15 -0
- package/dist/cjs/core/utils/index.d.ts.map +1 -0
- package/dist/cjs/core/utils/index.js +73 -0
- package/dist/cjs/core/utils/index.js.map +1 -0
- package/dist/cjs/core/utils/timing.d.ts +18 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -0
- package/dist/cjs/core/utils/timing.js +67 -0
- package/dist/cjs/core/utils/timing.js.map +1 -0
- package/dist/cjs/cross/cross.d.ts +25 -0
- package/dist/cjs/cross/cross.d.ts.map +1 -0
- package/dist/cjs/cross/cross.js +132 -0
- package/dist/cjs/cross/cross.js.map +1 -0
- package/dist/cjs/cross/crossProcess.d.ts +47 -0
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -0
- package/dist/cjs/cross/crossProcess.js +190 -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/{electron → dist/cjs/electron}/app/index.d.ts +3 -1
- package/dist/cjs/electron/app/index.d.ts.map +1 -0
- package/dist/cjs/electron/app/index.js +75 -0
- package/dist/cjs/electron/app/index.js.map +1 -0
- package/dist/cjs/electron/index.d.ts +4 -0
- package/dist/cjs/electron/index.d.ts.map +1 -0
- package/dist/cjs/electron/index.js +20 -0
- package/dist/cjs/electron/index.js.map +1 -0
- package/dist/cjs/electron/window/index.d.ts +8 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -0
- package/dist/cjs/electron/window/index.js +255 -0
- package/dist/cjs/electron/window/index.js.map +1 -0
- package/dist/cjs/exception/index.d.ts +3 -0
- package/dist/cjs/exception/index.d.ts.map +1 -0
- package/dist/cjs/exception/index.js +87 -0
- package/dist/cjs/exception/index.js.map +1 -0
- package/{html → dist/cjs/html}/index.d.ts +1 -0
- package/dist/cjs/html/index.d.ts.map +1 -0
- package/dist/cjs/html/index.js +17 -0
- package/dist/cjs/html/index.js.map +1 -0
- package/dist/cjs/index.d.ts +32 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +198 -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 +71 -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 +34 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -0
- package/dist/cjs/jobs/child/jobProcess.js +121 -0
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -0
- package/dist/cjs/jobs/child-pool/index.d.ts +30 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -0
- package/dist/cjs/jobs/child-pool/index.js +165 -0
- package/dist/cjs/jobs/child-pool/index.js.map +1 -0
- package/dist/cjs/jobs/index.d.ts +8 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -0
- package/dist/cjs/jobs/index.js +12 -0
- package/dist/cjs/jobs/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +5 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +26 -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 +30 -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 +37 -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 +13 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/consts.js +14 -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 +22 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/types.js +3 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -0
- package/dist/cjs/loader/index.d.ts +6 -0
- package/dist/cjs/loader/index.d.ts.map +1 -0
- package/dist/cjs/loader/index.js +82 -0
- package/dist/cjs/loader/index.js.map +1 -0
- package/dist/cjs/log/index.d.ts +18 -0
- package/dist/cjs/log/index.d.ts.map +1 -0
- package/dist/cjs/log/index.js +84 -0
- package/dist/cjs/log/index.js.map +1 -0
- package/dist/cjs/log/logger.d.ts +9 -0
- package/dist/cjs/log/logger.d.ts.map +1 -0
- package/dist/cjs/log/logger.js +126 -0
- package/dist/cjs/log/logger.js.map +1 -0
- package/dist/cjs/message/childMessage.d.ts +8 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -0
- package/dist/cjs/message/childMessage.js +37 -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/{ps → dist/cjs/ps}/index.d.ts +13 -9
- package/dist/cjs/ps/index.d.ts.map +1 -0
- package/dist/cjs/ps/index.js +235 -0
- package/dist/cjs/ps/index.js.map +1 -0
- package/dist/cjs/socket/httpServer.d.ts +21 -0
- package/dist/cjs/socket/httpServer.d.ts.map +1 -0
- package/dist/cjs/socket/httpServer.js +174 -0
- package/dist/cjs/socket/httpServer.js.map +1 -0
- package/dist/cjs/socket/index.d.ts +18 -0
- package/dist/cjs/socket/index.d.ts.map +1 -0
- package/dist/cjs/socket/index.js +67 -0
- package/dist/cjs/socket/index.js.map +1 -0
- package/dist/cjs/socket/ipcServer.d.ts +10 -0
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -0
- package/dist/cjs/socket/ipcServer.js +107 -0
- package/dist/cjs/socket/ipcServer.js.map +1 -0
- package/dist/cjs/socket/socketServer.d.ts +12 -0
- package/dist/cjs/socket/socketServer.d.ts.map +1 -0
- package/dist/cjs/socket/socketServer.js +77 -0
- package/dist/cjs/socket/socketServer.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 +28 -0
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -0
- package/dist/cjs/storage/sqliteStorage.js +85 -0
- package/dist/cjs/storage/sqliteStorage.js.map +1 -0
- package/dist/cjs/types/index.d.ts +156 -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 +3 -0
- package/dist/cjs/utils/extend.d.ts.map +1 -0
- package/dist/cjs/utils/extend.js +57 -0
- package/dist/cjs/utils/extend.js.map +1 -0
- package/dist/cjs/utils/helper.d.ts +16 -0
- package/dist/cjs/utils/helper.d.ts.map +1 -0
- package/dist/cjs/utils/helper.js +174 -0
- package/dist/cjs/utils/helper.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +20 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +220 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/ip.d.ts +13 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -0
- package/dist/cjs/utils/ip.js +185 -0
- package/dist/cjs/utils/ip.js.map +1 -0
- package/{utils → dist/cjs/utils}/is.d.ts +4 -3
- package/dist/cjs/utils/is.d.ts.map +1 -0
- package/dist/cjs/utils/is.js +91 -0
- package/dist/cjs/utils/is.js.map +1 -0
- package/dist/cjs/utils/json.d.ts +10 -0
- package/dist/cjs/utils/json.d.ts.map +1 -0
- package/dist/cjs/utils/json.js +60 -0
- package/dist/cjs/utils/json.js.map +1 -0
- package/dist/cjs/utils/pargv.d.ts +16 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -0
- package/dist/cjs/utils/pargv.js +268 -0
- package/dist/cjs/utils/pargv.js.map +1 -0
- package/dist/cjs/utils/port/index.d.ts +6 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -0
- package/dist/cjs/utils/port/index.js +112 -0
- package/dist/cjs/utils/port/index.js.map +1 -0
- package/dist/cjs/utils/type_check.d.ts +9 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -0
- package/dist/cjs/utils/type_check.js +35 -0
- package/dist/cjs/utils/type_check.js.map +1 -0
- package/dist/cjs/utils/wrap.d.ts +5 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -0
- package/dist/cjs/utils/wrap.js +51 -0
- package/dist/cjs/utils/wrap.js.map +1 -0
- package/dist/esm/app/application.d.ts +6 -0
- package/dist/esm/app/application.d.ts.map +1 -0
- package/dist/esm/app/application.js +21 -0
- package/dist/esm/app/application.js.map +1 -0
- package/dist/esm/app/boot.d.ts +9 -0
- package/dist/esm/app/boot.d.ts.map +1 -0
- package/dist/esm/app/boot.js +75 -0
- package/dist/esm/app/boot.js.map +1 -0
- package/dist/esm/app/dir.d.ts +2 -0
- package/dist/esm/app/dir.d.ts.map +1 -0
- package/dist/esm/app/dir.js +27 -0
- package/dist/esm/app/dir.js.map +1 -0
- package/dist/esm/app/events.d.ts +15 -0
- package/dist/esm/app/events.d.ts.map +1 -0
- package/dist/esm/app/events.js +44 -0
- package/dist/esm/app/events.js.map +1 -0
- package/dist/esm/config/config_loader.d.ts +10 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -0
- package/dist/esm/config/config_loader.js +56 -0
- package/dist/esm/config/config_loader.js.map +1 -0
- package/dist/esm/config/default_config.d.ts +3 -0
- package/dist/esm/config/default_config.d.ts.map +1 -0
- package/dist/esm/config/default_config.js +109 -0
- package/dist/esm/config/default_config.js.map +1 -0
- package/dist/esm/config/index.d.ts +4 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.js +17 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/const/channel.d.ts +17 -0
- package/dist/esm/const/channel.d.ts.map +1 -0
- package/dist/esm/const/channel.js +20 -0
- package/dist/esm/const/channel.js.map +1 -0
- package/dist/esm/controller/controller_loader.d.ts +10 -0
- package/dist/esm/controller/controller_loader.d.ts.map +1 -0
- package/dist/esm/controller/controller_loader.js +78 -0
- package/dist/esm/controller/controller_loader.js.map +1 -0
- package/dist/esm/controller/index.d.ts +4 -0
- package/dist/esm/controller/index.d.ts.map +1 -0
- package/dist/esm/controller/index.js +22 -0
- package/dist/esm/controller/index.js.map +1 -0
- package/dist/esm/core/loader/file_loader.d.ts +61 -0
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -0
- package/dist/esm/core/loader/file_loader.js +157 -0
- package/dist/esm/core/loader/file_loader.js.map +1 -0
- package/dist/esm/core/utils/index.d.ts +15 -0
- package/dist/esm/core/utils/index.d.ts.map +1 -0
- package/dist/esm/core/utils/index.js +73 -0
- package/dist/esm/core/utils/index.js.map +1 -0
- package/dist/esm/core/utils/timing.d.ts +18 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -0
- package/dist/esm/core/utils/timing.js +67 -0
- package/dist/esm/core/utils/timing.js.map +1 -0
- package/dist/esm/cross/cross.d.ts +25 -0
- package/dist/esm/cross/cross.d.ts.map +1 -0
- package/dist/esm/cross/cross.js +132 -0
- package/dist/esm/cross/cross.js.map +1 -0
- package/dist/esm/cross/crossProcess.d.ts +47 -0
- package/dist/esm/cross/crossProcess.d.ts.map +1 -0
- package/dist/esm/cross/crossProcess.js +190 -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 +7 -0
- package/dist/esm/electron/app/index.d.ts.map +1 -0
- package/dist/esm/electron/app/index.js +75 -0
- package/dist/esm/electron/app/index.js.map +1 -0
- package/dist/esm/electron/index.d.ts +4 -0
- package/dist/esm/electron/index.d.ts.map +1 -0
- package/dist/esm/electron/index.js +20 -0
- package/dist/esm/electron/index.js.map +1 -0
- package/dist/esm/electron/window/index.d.ts +8 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -0
- package/dist/esm/electron/window/index.js +255 -0
- package/dist/esm/electron/window/index.js.map +1 -0
- package/dist/esm/exception/index.d.ts +3 -0
- package/dist/esm/exception/index.d.ts.map +1 -0
- package/dist/esm/exception/index.js +87 -0
- package/dist/esm/exception/index.js.map +1 -0
- package/dist/esm/html/index.d.ts +2 -0
- package/dist/esm/html/index.d.ts.map +1 -0
- package/dist/esm/html/index.js +17 -0
- package/dist/esm/html/index.js.map +1 -0
- package/dist/esm/index.d.ts +32 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +198 -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 +71 -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 +34 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -0
- package/dist/esm/jobs/child/jobProcess.js +121 -0
- package/dist/esm/jobs/child/jobProcess.js.map +1 -0
- package/dist/esm/jobs/child-pool/index.d.ts +30 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -0
- package/dist/esm/jobs/child-pool/index.js +165 -0
- package/dist/esm/jobs/child-pool/index.js.map +1 -0
- package/dist/esm/jobs/index.d.ts +8 -0
- package/dist/esm/jobs/index.d.ts.map +1 -0
- package/dist/esm/jobs/index.js +12 -0
- package/dist/esm/jobs/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +5 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js +26 -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 +30 -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 +37 -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 +13 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/consts.js +14 -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 +22 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/types.js +3 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -0
- package/dist/esm/loader/index.d.ts +6 -0
- package/dist/esm/loader/index.d.ts.map +1 -0
- package/dist/esm/loader/index.js +82 -0
- package/dist/esm/loader/index.js.map +1 -0
- package/dist/esm/log/index.d.ts +18 -0
- package/dist/esm/log/index.d.ts.map +1 -0
- package/dist/esm/log/index.js +84 -0
- package/dist/esm/log/index.js.map +1 -0
- package/dist/esm/log/logger.d.ts +9 -0
- package/dist/esm/log/logger.d.ts.map +1 -0
- package/dist/esm/log/logger.js +126 -0
- package/dist/esm/log/logger.js.map +1 -0
- package/dist/esm/message/childMessage.d.ts +8 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -0
- package/dist/esm/message/childMessage.js +37 -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 +43 -0
- package/dist/esm/ps/index.d.ts.map +1 -0
- package/dist/esm/ps/index.js +235 -0
- package/dist/esm/ps/index.js.map +1 -0
- package/dist/esm/socket/httpServer.d.ts +21 -0
- package/dist/esm/socket/httpServer.d.ts.map +1 -0
- package/dist/esm/socket/httpServer.js +174 -0
- package/dist/esm/socket/httpServer.js.map +1 -0
- package/dist/esm/socket/index.d.ts +18 -0
- package/dist/esm/socket/index.d.ts.map +1 -0
- package/dist/esm/socket/index.js +67 -0
- package/dist/esm/socket/index.js.map +1 -0
- package/dist/esm/socket/ipcServer.d.ts +10 -0
- package/dist/esm/socket/ipcServer.d.ts.map +1 -0
- package/dist/esm/socket/ipcServer.js +107 -0
- package/dist/esm/socket/ipcServer.js.map +1 -0
- package/dist/esm/socket/socketServer.d.ts +12 -0
- package/dist/esm/socket/socketServer.d.ts.map +1 -0
- package/dist/esm/socket/socketServer.js +77 -0
- package/dist/esm/socket/socketServer.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 +28 -0
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -0
- package/dist/esm/storage/sqliteStorage.js +85 -0
- package/dist/esm/storage/sqliteStorage.js.map +1 -0
- package/dist/esm/types/index.d.ts +156 -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 +3 -0
- package/dist/esm/utils/extend.d.ts.map +1 -0
- package/dist/esm/utils/extend.js +57 -0
- package/dist/esm/utils/extend.js.map +1 -0
- package/dist/esm/utils/helper.d.ts +16 -0
- package/dist/esm/utils/helper.d.ts.map +1 -0
- package/dist/esm/utils/helper.js +174 -0
- package/dist/esm/utils/helper.js.map +1 -0
- package/dist/esm/utils/index.d.ts +20 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +220 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/ip.d.ts +13 -0
- package/dist/esm/utils/ip.d.ts.map +1 -0
- package/dist/esm/utils/ip.js +185 -0
- package/dist/esm/utils/ip.js.map +1 -0
- package/dist/esm/utils/is.d.ts +15 -0
- package/dist/esm/utils/is.d.ts.map +1 -0
- package/dist/esm/utils/is.js +91 -0
- package/dist/esm/utils/is.js.map +1 -0
- package/dist/esm/utils/json.d.ts +10 -0
- package/dist/esm/utils/json.d.ts.map +1 -0
- package/dist/esm/utils/json.js +60 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/pargv.d.ts +16 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -0
- package/dist/esm/utils/pargv.js +268 -0
- package/dist/esm/utils/pargv.js.map +1 -0
- package/dist/esm/utils/port/index.d.ts +6 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -0
- package/dist/esm/utils/port/index.js +112 -0
- package/dist/esm/utils/port/index.js.map +1 -0
- package/dist/esm/utils/type_check.d.ts +9 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -0
- package/dist/esm/utils/type_check.js +35 -0
- package/dist/esm/utils/type_check.js.map +1 -0
- package/dist/esm/utils/wrap.d.ts +5 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -0
- package/dist/esm/utils/wrap.js +51 -0
- package/dist/esm/utils/wrap.js.map +1 -0
- package/package.json +416 -19
- 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.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.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.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.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.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.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,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = weightsMinimumConnection;
|
|
4
|
+
/**
|
|
5
|
+
* 权重最小连接数算法
|
|
6
|
+
*/
|
|
7
|
+
function weightsMinimumConnection(tasks, weightTotal, connectionsMap, context) {
|
|
8
|
+
if (!tasks.length)
|
|
9
|
+
return null;
|
|
10
|
+
const first = tasks[0];
|
|
11
|
+
if (!first)
|
|
12
|
+
return null;
|
|
13
|
+
let min = first.weight || 0;
|
|
14
|
+
let minIndex = 0;
|
|
15
|
+
let sum;
|
|
16
|
+
const connectionsTotal = tasks.reduce((total, cur) => {
|
|
17
|
+
total += connectionsMap[cur.id] || 0;
|
|
18
|
+
return total;
|
|
19
|
+
}, 0);
|
|
20
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
21
|
+
const task = tasks[i];
|
|
22
|
+
if (!task)
|
|
23
|
+
continue;
|
|
24
|
+
sum =
|
|
25
|
+
(task.weight || 0) +
|
|
26
|
+
Math.random() * weightTotal +
|
|
27
|
+
(((connectionsMap[task.id] || 0) * weightTotal) / (connectionsTotal || 1));
|
|
28
|
+
if (sum <= min) {
|
|
29
|
+
min = sum;
|
|
30
|
+
minIndex = i;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
context.weightIndex += 1;
|
|
34
|
+
context.weightIndex %= weightTotal + 1;
|
|
35
|
+
return tasks[minIndex] || null;
|
|
36
|
+
}
|
|
37
|
+
//# 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,2CAqCC;AAxCD;;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,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,GAAW,CAAC;IAEhB,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,GAAG;YACD,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW;gBAC3B,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,IAAI,GAAG,EAAE,CAAC;YACf,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
|
+
* 权重轮询算法
|
|
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
|
+
* 权重轮询算法
|
|
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
|
+
* 权重随机算法
|
|
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,13 @@
|
|
|
1
|
+
export declare const AlgorithmType: {
|
|
2
|
+
readonly polling: "polling";
|
|
3
|
+
readonly weights: "weights";
|
|
4
|
+
readonly random: "random";
|
|
5
|
+
readonly specify: "specify";
|
|
6
|
+
readonly weightsPolling: "weightsPolling";
|
|
7
|
+
readonly weightsRandom: "weightsRandom";
|
|
8
|
+
readonly minimumConnection: "minimumConnection";
|
|
9
|
+
readonly weightsMinimumConnection: "weightsMinimumConnection";
|
|
10
|
+
};
|
|
11
|
+
export type AlgorithmTypeKey = keyof typeof AlgorithmType;
|
|
12
|
+
export type AlgorithmTypeValue = typeof AlgorithmType[AlgorithmTypeKey];
|
|
13
|
+
//# 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,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,aAAa,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AlgorithmType = void 0;
|
|
4
|
+
exports.AlgorithmType = {
|
|
5
|
+
polling: 'polling',
|
|
6
|
+
weights: 'weights',
|
|
7
|
+
random: 'random',
|
|
8
|
+
specify: 'specify',
|
|
9
|
+
weightsPolling: 'weightsPolling',
|
|
10
|
+
weightsRandom: 'weightsRandom',
|
|
11
|
+
minimumConnection: 'minimumConnection',
|
|
12
|
+
weightsMinimumConnection: 'weightsMinimumConnection',
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,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
|
+
* 负载均衡器
|
|
5
|
+
* @intro 参考electron-re项目,并做了一些改动
|
|
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 - 配置选项
|
|
26
|
+
* @param options.targets - 负载均衡目标列表 [{id: 1, weight: 1}, {id: 2, weight: 2}]
|
|
27
|
+
* @param options.algorithm - 算法名称
|
|
28
|
+
*/
|
|
29
|
+
constructor(options: LoadBalancerOptions);
|
|
30
|
+
/**
|
|
31
|
+
* 算法参数
|
|
32
|
+
*/
|
|
33
|
+
memorizedParams(): Record<string, (...args: unknown[]) => unknown[]>;
|
|
34
|
+
/**
|
|
35
|
+
* 刷新参数
|
|
36
|
+
*/
|
|
37
|
+
refreshParams(pidMap: Record<string | number, PidInfo>): void;
|
|
38
|
+
/**
|
|
39
|
+
* 选举出一个进程
|
|
40
|
+
*/
|
|
41
|
+
pickOne(...params: unknown[]): LoadBalancerTarget | null;
|
|
42
|
+
/**
|
|
43
|
+
* 选举出多个进程
|
|
44
|
+
*/
|
|
45
|
+
pickMulti(count?: number, ...params: unknown[]): (LoadBalancerTarget | null)[];
|
|
46
|
+
/**
|
|
47
|
+
* 计算权重
|
|
48
|
+
*/
|
|
49
|
+
calculateWeightIndex(): void;
|
|
50
|
+
/**
|
|
51
|
+
* 计算索引
|
|
52
|
+
*/
|
|
53
|
+
calculateIndex(): void;
|
|
54
|
+
/**
|
|
55
|
+
* 清除data
|
|
56
|
+
*/
|
|
57
|
+
clean(id?: string | number): void;
|
|
58
|
+
/**
|
|
59
|
+
* 添加一个进程信息
|
|
60
|
+
*/
|
|
61
|
+
add(task: LoadBalancerTarget): void;
|
|
62
|
+
/**
|
|
63
|
+
* 删除一个进程信息
|
|
64
|
+
*/
|
|
65
|
+
del(target: LoadBalancerTarget): void;
|
|
66
|
+
/**
|
|
67
|
+
* 擦除
|
|
68
|
+
*/
|
|
69
|
+
wipe(): void;
|
|
70
|
+
/**
|
|
71
|
+
* 更新计算参数
|
|
72
|
+
*/
|
|
73
|
+
updateParams(object: Partial<LoadBalancerParams>): void;
|
|
74
|
+
/**
|
|
75
|
+
* 设置targets
|
|
76
|
+
*/
|
|
77
|
+
setTargets(targets: LoadBalancerTarget[]): void;
|
|
78
|
+
/**
|
|
79
|
+
* 设置算法
|
|
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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadBalancer = void 0;
|
|
4
|
+
const consts_js_1 = require("./consts.js");
|
|
5
|
+
const scheduler_js_1 = require("./scheduler.js");
|
|
6
|
+
/**
|
|
7
|
+
* 负载均衡器
|
|
8
|
+
* @intro 参考electron-re项目,并做了一些改动
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
class LoadBalancer {
|
|
12
|
+
/**
|
|
13
|
+
* @param options - 配置选项
|
|
14
|
+
* @param options.targets - 负载均衡目标列表 [{id: 1, weight: 1}, {id: 2, weight: 2}]
|
|
15
|
+
* @param options.algorithm - 算法名称
|
|
16
|
+
*/
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.targets = options.targets;
|
|
19
|
+
this.algorithm = options.algorithm || consts_js_1.AlgorithmType.polling;
|
|
20
|
+
this.params = {
|
|
21
|
+
currentIndex: 0,
|
|
22
|
+
weightIndex: 0,
|
|
23
|
+
weightTotal: 0,
|
|
24
|
+
connectionsMap: {},
|
|
25
|
+
cpuOccupancyMap: {},
|
|
26
|
+
memoryOccupancyMap: {},
|
|
27
|
+
};
|
|
28
|
+
this.scheduler = new scheduler_js_1.Scheduler(this.algorithm);
|
|
29
|
+
this.memoParams = this.memorizedParams();
|
|
30
|
+
this.calculateWeightIndex();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 算法参数
|
|
34
|
+
*/
|
|
35
|
+
memorizedParams() {
|
|
36
|
+
return {
|
|
37
|
+
[consts_js_1.AlgorithmType.random]: () => [],
|
|
38
|
+
[consts_js_1.AlgorithmType.polling]: () => [this.params.currentIndex, this.params],
|
|
39
|
+
[consts_js_1.AlgorithmType.weights]: () => [this.params.weightTotal, this.params],
|
|
40
|
+
[consts_js_1.AlgorithmType.specify]: (id) => [id],
|
|
41
|
+
[consts_js_1.AlgorithmType.weightsRandom]: () => [this.params.weightTotal],
|
|
42
|
+
[consts_js_1.AlgorithmType.weightsPolling]: () => [this.params.weightIndex, this.params.weightTotal, this.params],
|
|
43
|
+
[consts_js_1.AlgorithmType.minimumConnection]: () => [this.params.connectionsMap],
|
|
44
|
+
[consts_js_1.AlgorithmType.weightsMinimumConnection]: () => [this.params.weightTotal, this.params.connectionsMap, this.params],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 刷新参数
|
|
49
|
+
*/
|
|
50
|
+
refreshParams(pidMap) {
|
|
51
|
+
const infos = Object.values(pidMap);
|
|
52
|
+
for (const info of infos) {
|
|
53
|
+
this.params.cpuOccupancyMap[info.pid] = info.cpu;
|
|
54
|
+
this.params.memoryOccupancyMap[info.pid] = info.memory;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 选举出一个进程
|
|
59
|
+
*/
|
|
60
|
+
pickOne(...params) {
|
|
61
|
+
const memoFn = this.memoParams[this.algorithm];
|
|
62
|
+
if (!memoFn) {
|
|
63
|
+
throw new Error(`No memoized params function for algorithm: ${this.algorithm}`);
|
|
64
|
+
}
|
|
65
|
+
return this.scheduler.calculate(this.targets, memoFn(...params));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 选举出多个进程
|
|
69
|
+
*/
|
|
70
|
+
pickMulti(count = 1, ...params) {
|
|
71
|
+
return new Array(count).fill(null).map(() => this.pickOne(...params));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 计算权重
|
|
75
|
+
*/
|
|
76
|
+
calculateWeightIndex() {
|
|
77
|
+
this.params.weightTotal = this.targets.reduce((total, cur) => total + (cur.weight || 0), 0);
|
|
78
|
+
if (this.params.weightIndex > this.params.weightTotal) {
|
|
79
|
+
this.params.weightIndex = this.params.weightTotal;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 计算索引
|
|
84
|
+
*/
|
|
85
|
+
calculateIndex() {
|
|
86
|
+
if (this.params.currentIndex >= this.targets.length) {
|
|
87
|
+
this.params.currentIndex = this.params.currentIndex - 1 >= 0 ? this.params.currentIndex - 1 : 0;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 清除data
|
|
92
|
+
*/
|
|
93
|
+
clean(id) {
|
|
94
|
+
if (id !== undefined) {
|
|
95
|
+
delete this.params.connectionsMap[id];
|
|
96
|
+
delete this.params.cpuOccupancyMap[id];
|
|
97
|
+
delete this.params.memoryOccupancyMap[id];
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.params = {
|
|
101
|
+
currentIndex: 0,
|
|
102
|
+
weightIndex: this.params.weightIndex,
|
|
103
|
+
weightTotal: this.params.weightTotal,
|
|
104
|
+
connectionsMap: {},
|
|
105
|
+
cpuOccupancyMap: {},
|
|
106
|
+
memoryOccupancyMap: {},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 添加一个进程信息
|
|
112
|
+
*/
|
|
113
|
+
add(task) {
|
|
114
|
+
if (this.targets.find(target => target.id === task.id)) {
|
|
115
|
+
console.warn(`Add Operation: the task ${task.id} already exists.`);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this.targets.push(task);
|
|
119
|
+
this.calculateWeightIndex();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 删除一个进程信息
|
|
123
|
+
*/
|
|
124
|
+
del(target) {
|
|
125
|
+
let found = false;
|
|
126
|
+
for (let i = 0; i < this.targets.length; i++) {
|
|
127
|
+
const t = this.targets[i];
|
|
128
|
+
if (t && t.id === target.id) {
|
|
129
|
+
this.targets.splice(i, 1);
|
|
130
|
+
this.clean(target.id);
|
|
131
|
+
this.calculateIndex();
|
|
132
|
+
found = true;
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (found) {
|
|
137
|
+
this.calculateWeightIndex();
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.warn(`Del Operation: the task ${target.id} is not found.`, this.targets);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* 擦除
|
|
145
|
+
*/
|
|
146
|
+
wipe() {
|
|
147
|
+
this.targets = [];
|
|
148
|
+
this.calculateWeightIndex();
|
|
149
|
+
this.clean();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* 更新计算参数
|
|
153
|
+
*/
|
|
154
|
+
updateParams(object) {
|
|
155
|
+
Object.entries(object).forEach(([key, value]) => {
|
|
156
|
+
if (key in this.params) {
|
|
157
|
+
this.params[key] = value;
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* 设置targets
|
|
163
|
+
*/
|
|
164
|
+
setTargets(targets) {
|
|
165
|
+
const targetsMap = targets.reduce((total, cur) => {
|
|
166
|
+
total[cur.id] = 1;
|
|
167
|
+
return total;
|
|
168
|
+
}, {});
|
|
169
|
+
this.targets.forEach(target => {
|
|
170
|
+
if (!(target.id in targetsMap)) {
|
|
171
|
+
this.clean(target.id);
|
|
172
|
+
this.calculateIndex();
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
this.targets = targets;
|
|
176
|
+
this.calculateWeightIndex();
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* 设置算法
|
|
180
|
+
*/
|
|
181
|
+
setAlgorithm(algorithm) {
|
|
182
|
+
if (algorithm in consts_js_1.AlgorithmType) {
|
|
183
|
+
this.algorithm = algorithm;
|
|
184
|
+
this.params.weightIndex = 0;
|
|
185
|
+
this.scheduler.setAlgorithm(this.algorithm);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
throw new Error(`Invalid algorithm: ${algorithm}, pick from ${Object.keys(consts_js_1.AlgorithmType).join('|')}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
exports.LoadBalancer = LoadBalancer;
|
|
193
|
+
LoadBalancer.Algorithm = consts_js_1.AlgorithmType;
|
|
194
|
+
exports.default = LoadBalancer;
|
|
195
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LoadBalancerTarget } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* 算法调度器
|
|
4
|
+
*/
|
|
5
|
+
export declare class Scheduler {
|
|
6
|
+
private algorithm;
|
|
7
|
+
constructor(algorithm?: string);
|
|
8
|
+
/**
|
|
9
|
+
* 计算
|
|
10
|
+
*/
|
|
11
|
+
calculate(tasks: LoadBalancerTarget[], params: unknown[]): LoadBalancerTarget | null;
|
|
12
|
+
/**
|
|
13
|
+
* 设置算法
|
|
14
|
+
*/
|
|
15
|
+
setAlgorithm(algorithm: string): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/scheduler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,CAAC,EAAE,MAAM;IAI9B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,GAAG,IAAI;IAKpF;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAOtC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
exports.Scheduler = void 0;
|
|
7
|
+
const consts_js_1 = require("./consts.js");
|
|
8
|
+
const index_js_1 = __importDefault(require("./algorithm/index.js"));
|
|
9
|
+
/**
|
|
10
|
+
* 算法调度器
|
|
11
|
+
*/
|
|
12
|
+
class Scheduler {
|
|
13
|
+
constructor(algorithm) {
|
|
14
|
+
this.algorithm = algorithm || consts_js_1.AlgorithmType.polling;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 计算
|
|
18
|
+
*/
|
|
19
|
+
calculate(tasks, params) {
|
|
20
|
+
const algo = index_js_1.default[this.algorithm];
|
|
21
|
+
return algo(tasks, ...params);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 设置算法
|
|
25
|
+
*/
|
|
26
|
+
setAlgorithm(algorithm) {
|
|
27
|
+
if (algorithm in consts_js_1.AlgorithmType) {
|
|
28
|
+
this.algorithm = algorithm;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new Error(`Invalid algorithm: ${algorithm}, pick from ${Object.keys(consts_js_1.AlgorithmType).join('|')}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.Scheduler = Scheduler;
|
|
36
|
+
//# sourceMappingURL=scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/scheduler.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA4C;AAC5C,oEAA8C;AAI9C;;GAEG;AACH,MAAa,SAAS;IAGpB,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,yBAAa,CAAC,OAAO,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAA2B,EAAE,MAAiB;QACtD,MAAM,IAAI,GAAG,kBAAU,CAAC,IAAI,CAAC,SAAS,CAAgB,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB;QAC5B,IAAI,SAAS,IAAI,yBAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,eAAe,MAAM,CAAC,IAAI,CAAC,yBAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;CACF;AAzBD,8BAyBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface LoadBalancerTarget {
|
|
2
|
+
id: string | number;
|
|
3
|
+
weight?: number;
|
|
4
|
+
}
|
|
5
|
+
export interface LoadBalancerParams {
|
|
6
|
+
currentIndex: number;
|
|
7
|
+
weightIndex: number;
|
|
8
|
+
weightTotal: number;
|
|
9
|
+
connectionsMap: Record<string | number, number>;
|
|
10
|
+
cpuOccupancyMap: Record<string | number, number>;
|
|
11
|
+
memoryOccupancyMap: Record<string | number, number>;
|
|
12
|
+
}
|
|
13
|
+
export interface LoadBalancerOptions {
|
|
14
|
+
targets: LoadBalancerTarget[];
|
|
15
|
+
algorithm?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PidInfo {
|
|
18
|
+
pid: string | number;
|
|
19
|
+
cpu: number;
|
|
20
|
+
memory: number;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/jobs/load-balancer/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function loadFile(filepath: string, ...inject: unknown[]): unknown;
|
|
2
|
+
export declare function requireFile(filepath: string): unknown;
|
|
3
|
+
export declare function execFile(filepath: string, ...inject: unknown[]): unknown;
|
|
4
|
+
export declare function resolveModule(filepath: string): string | undefined;
|
|
5
|
+
export declare function getFullpath(filepath: string): string;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loader/index.ts"],"names":[],"mappings":"AAOA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAiBxE;AAGD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAGD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAQxE;AAGD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBlE;AAGD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYpD"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
exports.loadFile = loadFile;
|
|
7
|
+
exports.requireFile = requireFile;
|
|
8
|
+
exports.execFile = execFile;
|
|
9
|
+
exports.resolveModule = resolveModule;
|
|
10
|
+
exports.getFullpath = getFullpath;
|
|
11
|
+
const type_check_js_1 = require("../utils/type_check.js");
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const index_js_1 = require("../core/utils/index.js");
|
|
15
|
+
const index_js_2 = require("../ps/index.js");
|
|
16
|
+
// 加载单个文件(如果是函数,将被执行)
|
|
17
|
+
function loadFile(filepath, ...inject) {
|
|
18
|
+
let fullpath = filepath;
|
|
19
|
+
const isAbsolute = path_1.default.isAbsolute(fullpath);
|
|
20
|
+
if (!isAbsolute) {
|
|
21
|
+
fullpath = path_1.default.join((0, index_js_2.getElectronDir)(), fullpath);
|
|
22
|
+
}
|
|
23
|
+
fullpath = resolveModule(fullpath) || fullpath;
|
|
24
|
+
if (!fs_1.default.existsSync(fullpath)) {
|
|
25
|
+
throw new Error(`[ee-core] [loader/index] loadFile ${filepath} does not exist`);
|
|
26
|
+
}
|
|
27
|
+
let ret = (0, index_js_1.loadFile)(fullpath);
|
|
28
|
+
if ((0, type_check_js_1.isFunction)(ret) && !(0, type_check_js_1.isClass)(ret) && !(0, index_js_1.isBytecodeClass)(ret)) {
|
|
29
|
+
ret = ret(...inject);
|
|
30
|
+
}
|
|
31
|
+
return ret;
|
|
32
|
+
}
|
|
33
|
+
// requireFile
|
|
34
|
+
function requireFile(filepath) {
|
|
35
|
+
return (0, index_js_1.loadFile)(filepath);
|
|
36
|
+
}
|
|
37
|
+
// 加载并运行文件
|
|
38
|
+
function execFile(filepath, ...inject) {
|
|
39
|
+
let ret = (0, index_js_1.loadFile)(filepath);
|
|
40
|
+
if ((0, type_check_js_1.isClass)(ret) || (0, index_js_1.isBytecodeClass)(ret)) {
|
|
41
|
+
ret = new ret(inject);
|
|
42
|
+
}
|
|
43
|
+
else if ((0, type_check_js_1.isFunction)(ret)) {
|
|
44
|
+
ret = ret(inject);
|
|
45
|
+
}
|
|
46
|
+
return ret;
|
|
47
|
+
}
|
|
48
|
+
// 模块的绝对路径
|
|
49
|
+
function resolveModule(filepath) {
|
|
50
|
+
let fullpath;
|
|
51
|
+
try {
|
|
52
|
+
fullpath = require.resolve(filepath);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// 特殊后缀处理
|
|
56
|
+
if (filepath && (filepath.endsWith('.defalut') || filepath.endsWith('.prod'))) {
|
|
57
|
+
fullpath = filepath + '.jsc';
|
|
58
|
+
}
|
|
59
|
+
else if (filepath && filepath.endsWith('.js')) {
|
|
60
|
+
fullpath = filepath + 'c';
|
|
61
|
+
}
|
|
62
|
+
if (!fs_1.default.existsSync(filepath) && (!fullpath || !fs_1.default.existsSync(fullpath))) {
|
|
63
|
+
console.warn(`[ee-core] [loader] resolveModule unknow filepath: ${JSON.stringify({ filepath, fullpath })}`);
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return fullpath;
|
|
68
|
+
}
|
|
69
|
+
// 获取electron目录下文件的绝对路径
|
|
70
|
+
function getFullpath(filepath) {
|
|
71
|
+
let fullpath;
|
|
72
|
+
const isAbsolute = path_1.default.isAbsolute(filepath);
|
|
73
|
+
if (!isAbsolute) {
|
|
74
|
+
filepath = path_1.default.join((0, index_js_2.getElectronDir)(), filepath);
|
|
75
|
+
}
|
|
76
|
+
fullpath = resolveModule(filepath);
|
|
77
|
+
if (!fullpath || !fs_1.default.existsSync(fullpath)) {
|
|
78
|
+
throw new Error(`[ee-core] [loader] getFullpath filepath ${filepath} not exists`);
|
|
79
|
+
}
|
|
80
|
+
return fullpath;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=index.js.map
|