opengris-scaler 1.12.13__cp312-cp312-manylinux_2_28_x86_64.whl → 1.12.20__cp312-cp312-manylinux_2_28_x86_64.whl

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.

Potentially problematic release.


This version of opengris-scaler might be problematic. Click here for more details.

Files changed (99) hide show
  1. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/METADATA +13 -9
  2. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/RECORD +99 -86
  3. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/entry_points.txt +1 -0
  4. scaler/client/agent/client_agent.py +7 -7
  5. scaler/client/agent/heartbeat_manager.py +5 -5
  6. scaler/client/client.py +6 -6
  7. scaler/cluster/cluster.py +4 -4
  8. scaler/cluster/combo.py +14 -12
  9. scaler/cluster/object_storage_server.py +7 -7
  10. scaler/cluster/scheduler.py +8 -5
  11. scaler/config/defaults.py +7 -0
  12. scaler/config/loader.py +1 -1
  13. scaler/config/section/cluster.py +2 -3
  14. scaler/config/section/ecs_worker_adapter.py +85 -0
  15. scaler/config/section/native_worker_adapter.py +2 -3
  16. scaler/config/section/object_storage_server.py +1 -0
  17. scaler/config/section/scheduler.py +8 -7
  18. scaler/config/section/symphony_worker_adapter.py +3 -3
  19. scaler/config/section/webui.py +5 -0
  20. scaler/config/types/network_backend.py +12 -0
  21. scaler/config/types/worker.py +1 -1
  22. scaler/entry_points/cluster.py +3 -3
  23. scaler/entry_points/scheduler.py +16 -7
  24. scaler/entry_points/top.py +1 -1
  25. scaler/entry_points/webui.py +23 -1
  26. scaler/entry_points/worker_adapter_ecs.py +191 -0
  27. scaler/entry_points/worker_adapter_native.py +1 -1
  28. scaler/entry_points/worker_adapter_symphony.py +5 -9
  29. scaler/io/async_binder.py +9 -5
  30. scaler/io/async_connector.py +1 -1
  31. scaler/io/async_object_storage_connector.py +74 -34
  32. scaler/io/sync_connector.py +1 -1
  33. scaler/io/sync_object_storage_connector.py +93 -31
  34. scaler/io/sync_subscriber.py +1 -1
  35. scaler/io/utility.py +44 -0
  36. scaler/io/ymq/_ymq.so +0 -0
  37. scaler/io/ymq/bytes.h +1 -1
  38. scaler/io/ymq/configuration.h +1 -2
  39. scaler/io/ymq/error.h +3 -3
  40. scaler/io/ymq/logging.h +2 -4
  41. scaler/io/ymq/message_connection_tcp.cpp +24 -4
  42. scaler/io/ymq/message_connection_tcp.h +2 -0
  43. scaler/io/ymq/pymod_ymq/exception.h +2 -5
  44. scaler/io/ymq/pymod_ymq/gil.h +8 -5
  45. scaler/io/ymq/pymod_ymq/io_context.h +8 -6
  46. scaler/io/ymq/pymod_ymq/io_socket.h +72 -73
  47. scaler/io/ymq/pymod_ymq/python.h +7 -3
  48. scaler/io/ymq/pymod_ymq/ymq.h +6 -10
  49. scaler/io/ymq/readme.md +8 -104
  50. scaler/io/ymq/tcp_client.cpp +2 -2
  51. scaler/io/ymq/timed_queue.h +30 -33
  52. scaler/io/ymq/ymq.py +24 -16
  53. scaler/io/ymq_async_object_storage_connector.py +184 -0
  54. scaler/io/ymq_sync_object_storage_connector.py +184 -0
  55. scaler/object_storage/object_manager.cpp +6 -1
  56. scaler/object_storage/object_manager.h +3 -0
  57. scaler/object_storage/object_storage_server.cpp +29 -0
  58. scaler/object_storage/object_storage_server.h +2 -0
  59. scaler/object_storage/object_storage_server.so +0 -0
  60. scaler/protocol/capnp/message.capnp +2 -1
  61. scaler/protocol/capnp/object_storage.capnp +5 -0
  62. scaler/protocol/python/message.py +13 -1
  63. scaler/scheduler/allocate_policy/capability_allocate_policy.py +1 -1
  64. scaler/scheduler/controllers/information_controller.py +1 -1
  65. scaler/scheduler/controllers/mixins.py +0 -7
  66. scaler/scheduler/controllers/scaling_policies/__init__.py +0 -0
  67. scaler/scheduler/controllers/scaling_policies/fixed_elastic.py +145 -0
  68. scaler/scheduler/controllers/scaling_policies/mixins.py +10 -0
  69. scaler/scheduler/controllers/scaling_policies/null.py +14 -0
  70. scaler/scheduler/controllers/scaling_policies/types.py +9 -0
  71. scaler/scheduler/controllers/scaling_policies/utility.py +20 -0
  72. scaler/scheduler/controllers/{scaling_controller.py → scaling_policies/vanilla.py} +25 -16
  73. scaler/scheduler/controllers/task_controller.py +4 -1
  74. scaler/scheduler/scheduler.py +10 -12
  75. scaler/ui/memory_window.py +10 -13
  76. scaler/ui/task_graph.py +616 -124
  77. scaler/ui/task_log.py +43 -22
  78. scaler/ui/utility.py +37 -5
  79. scaler/ui/webui.py +14 -2
  80. scaler/ui/worker_processors.py +11 -4
  81. scaler/utility/identifiers.py +2 -3
  82. scaler/version.txt +1 -1
  83. scaler/worker/agent/heartbeat_manager.py +8 -8
  84. scaler/worker/agent/mixins.py +2 -2
  85. scaler/worker/agent/processor/processor.py +5 -5
  86. scaler/worker/agent/processor_holder.py +5 -5
  87. scaler/worker/agent/processor_manager.py +4 -3
  88. scaler/worker/worker.py +8 -8
  89. scaler/worker_adapter/common.py +26 -0
  90. scaler/worker_adapter/ecs.py +269 -0
  91. scaler/worker_adapter/native.py +17 -16
  92. scaler/worker_adapter/symphony/heartbeat_manager.py +7 -7
  93. scaler/worker_adapter/symphony/task_manager.py +2 -1
  94. scaler/worker_adapter/symphony/worker.py +7 -8
  95. scaler/worker_adapter/symphony/worker_adapter.py +12 -15
  96. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/WHEEL +0 -0
  97. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/licenses/LICENSE +0 -0
  98. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/licenses/LICENSE.spdx +0 -0
  99. {opengris_scaler-1.12.13.dist-info → opengris_scaler-1.12.20.dist-info}/licenses/NOTICE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: opengris-scaler
3
- Version: 1.12.13
3
+ Version: 1.12.20
4
4
  Summary: OpenGRIS Scaler Distribution Framework
5
5
  Author-Email: Citi <opensource@citi.com>
6
6
  License: Apache 2.0
@@ -9,11 +9,11 @@ Classifier: License :: OSI Approved :: Apache Software License
9
9
  Classifier: Intended Audience :: Developers
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Topic :: System :: Distributed Computing
12
- Project-URL: Home, https://github.com/Citi/scaler
12
+ Project-URL: Home, https://github.com/finos/opengris-scaler
13
13
  Requires-Python: >=3.8
14
14
  Requires-Dist: bidict
15
15
  Requires-Dist: cloudpickle
16
- Requires-Dist: psutil==7.1.0
16
+ Requires-Dist: psutil==7.1.1
17
17
  Requires-Dist: pycapnp==2.1.0
18
18
  Requires-Dist: pyzmq
19
19
  Requires-Dist: sortedcontainers==2.4.0
@@ -21,24 +21,28 @@ Requires-Dist: tblib
21
21
  Requires-Dist: aiohttp
22
22
  Requires-Dist: graphlib-backport; python_version < "3.9"
23
23
  Requires-Dist: typing-extensions>=4.0; python_version < "3.10"
24
+ Requires-Dist: tomli; python_version < "3.11"
24
25
  Provides-Extra: uvloop
25
26
  Requires-Dist: uvloop; platform_system != "Windows" and extra == "uvloop"
26
27
  Provides-Extra: gui
27
28
  Requires-Dist: nicegui[plotly]==2.24.2; python_version == "3.8" and extra == "gui"
28
- Requires-Dist: nicegui[plotly]==3.0.4; python_version >= "3.9" and extra == "gui"
29
+ Requires-Dist: nicegui[plotly]==3.1.0; python_version >= "3.9" and extra == "gui"
29
30
  Provides-Extra: graphblas
30
31
  Requires-Dist: python-graphblas; extra == "graphblas"
31
32
  Requires-Dist: numpy==1.24.4; python_version == "3.8" and extra == "graphblas"
32
33
  Requires-Dist: numpy==2.0.2; python_version == "3.9" and extra == "graphblas"
33
34
  Requires-Dist: numpy==2.2.6; python_version >= "3.10" and extra == "graphblas"
35
+ Provides-Extra: aws
36
+ Requires-Dist: boto3; extra == "aws"
34
37
  Provides-Extra: all
35
38
  Requires-Dist: nicegui[plotly]==2.24.2; python_version == "3.8" and extra == "all"
36
- Requires-Dist: nicegui[plotly]==3.0.4; python_version >= "3.9" and extra == "all"
39
+ Requires-Dist: nicegui[plotly]==3.1.0; python_version >= "3.9" and extra == "all"
37
40
  Requires-Dist: python-graphblas; extra == "all"
38
41
  Requires-Dist: numpy==1.24.4; python_version == "3.8" and extra == "all"
39
42
  Requires-Dist: numpy==2.0.2; python_version == "3.9" and extra == "all"
40
43
  Requires-Dist: numpy==2.2.6; python_version >= "3.10" and extra == "all"
41
44
  Requires-Dist: uvloop; platform_system != "Windows" and extra == "all"
45
+ Requires-Dist: boto3; extra == "all"
42
46
  Description-Content-Type: text/markdown
43
47
 
44
48
  <div align="center">
@@ -58,12 +62,12 @@ Description-Content-Type: text/markdown
58
62
  <img src="https://img.shields.io/badge/Documentation-0f1632">
59
63
  </a>
60
64
  <a href="./LICENSE">
61
- <img src="https://img.shields.io/github/license/citi/scaler?label=license&colorA=0f1632&colorB=255be3">
65
+ <img src="https://img.shields.io/github/license/finos/opengris-scaler?label=license&colorA=0f1632&colorB=255be3">
62
66
  </a>
63
- <a href="https://pypi.org/project/scaler">
64
- <img alt="PyPI - Version" src="https://img.shields.io/pypi/v/scaler?colorA=0f1632&colorB=255be3">
67
+ <a href="https://pypi.org/project/opengris-scaler">
68
+ <img alt="PyPI - Version" src="https://img.shields.io/pypi/v/opengris-scaler?colorA=0f1632&colorB=255be3">
65
69
  </a>
66
- <img src="https://api.securityscorecards.dev/projects/github.com/Citi/scaler/badge">
70
+ <img src="https://api.securityscorecards.dev/projects/github.com/finos/opengris-scaler/badge">
67
71
  </p>
68
72
  </div>
69
73
 
@@ -3,17 +3,17 @@ opengris_scaler.libs/libkj-1-094aa318.1.0.so,sha256=dRbFbTaca-2vf1SS5LDL3WNfPzoE
3
3
  scaler/CMakeLists.txt,sha256=60rkhpiwy0F-DSsRX_6nRrjYQvQ1Jp9mGp8fZsi006k,305
4
4
  scaler/__init__.py,sha256=nZU5QZ9oW2YIaGwm3-r-6dfmirTVzZpDPDNtX-ITCV4,513
5
5
  scaler/about.py,sha256=OBcfSvHO0P3mWaa2Ci4WEOTbH7is-3uYymScxgZPxyg,161
6
- scaler/version.txt,sha256=F6PMSyppBgeF1s1ced3yCqk9L1U1rOtqGWHlqvHibuU,8
6
+ scaler/version.txt,sha256=SvuzpNxynEY-C87gs6PxCwdH3djfuO_T2itiSzLzTD0,8
7
7
  scaler/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- scaler/client/client.py,sha256=9WWclvdsouYPREGwmkWWA3gpz5DVFEAD6HKbtXr3Jx8,25506
8
+ scaler/client/client.py,sha256=tZywq0208n7as62ShckPdeI8soFXh3AaS1pGBCVJrZo,25535
9
9
  scaler/client/future.py,sha256=fOl5g4Is4E5jtvO0kmRk4uUs_eUjSjMmyniYhWMAH4w,10041
10
10
  scaler/client/object_buffer.py,sha256=MBjz1Rf6ufgTyjMYoV8V78xpezot0aUit41nj-5kV50,4670
11
11
  scaler/client/object_reference.py,sha256=Pow064leLlO6OhfW-yyEjcesbzn22ijqGBSQlsQNEtU,606
12
12
  scaler/client/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- scaler/client/agent/client_agent.py,sha256=mMOIv1o4PrzKtDghm353m2WEQ6iysM5BFvY6xALJYaY,8036
13
+ scaler/client/agent/client_agent.py,sha256=nPYGl1qpKLAPRMI5ip5o5F5fU-6Yl_M2Nk3Ln8qPkD8,8078
14
14
  scaler/client/agent/disconnect_manager.py,sha256=eNy8QKYgsJi4xnyJING0URx48lyaK2GxNYv-GYWYUmg,1189
15
15
  scaler/client/agent/future_manager.py,sha256=SS4ucAjg_p8pAH3VSgfhC8dur6xvEyljwbaOoxoNA2g,4713
16
- scaler/client/agent/heartbeat_manager.py,sha256=l-CnIzk_B270AorcLlynu9MT_4hxIefwGTnLQOGNxGw,2737
16
+ scaler/client/agent/heartbeat_manager.py,sha256=1iF3UKQXHe_UK83HFCZFBMOiqZQzg3yCd2Y6cEIJHtw,2772
17
17
  scaler/client/agent/mixins.py,sha256=L7G2XwvSUvlHq5bYQfPCstYbQUtSh0r4A69cq69jh2w,2429
18
18
  scaler/client/agent/object_manager.py,sha256=ATAjsxcTc4zbT1SEA-1e4aoCPteFczdWKfbsgRYWf9s,4226
19
19
  scaler/client/agent/task_manager.py,sha256=7dr6rv3IAlyISII_SPzeLgQCEZnskiv9Qw3cfV4Sg7U,2833
@@ -21,53 +21,58 @@ scaler/client/serializer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
21
21
  scaler/client/serializer/default.py,sha256=MU0xosP_IRiTlDHogZtceM6Dfl54KvxHGnnbuwmLlb0,385
22
22
  scaler/client/serializer/mixins.py,sha256=R3HWteJ54AC5yAK8nsyhWbYTuMDdkQgDi95aOtAS3Qs,1401
23
23
  scaler/cluster/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- scaler/cluster/cluster.py,sha256=kpOMxuJ855telnEUcmv7T3Lt1xzE50JnKXfnFua78KI,4470
25
- scaler/cluster/combo.py,sha256=dOdRB0lJ-tG052oTlOdluo3DesZGaeR85M1_3PSLbas,6350
26
- scaler/cluster/object_storage_server.py,sha256=t7lx1tXAz1Iwc3xARJQqQOcG0s1BlIc-yf_jORZF0xE,1635
27
- scaler/cluster/scheduler.py,sha256=UqrB2ApZ9D_2IhleyGzKgZRUda5PPBiSOHO-Z0hj72k,3267
24
+ scaler/cluster/cluster.py,sha256=so9qfYC0stvXyULK5-gvDqwdF2SRRMPMGGjHTPYp4uA,4505
25
+ scaler/cluster/combo.py,sha256=OcapfDMXute1yvsj2CHKHffKoXoX469zCQC615l0NG0,6588
26
+ scaler/cluster/object_storage_server.py,sha256=0X6afXygpEB1xJ9MAgMIjcH2uufTT8L8RGA2MVmQVmc,1684
27
+ scaler/cluster/scheduler.py,sha256=pg-sLzuDuBWifmcb0wcQB1kSZZu0y7FinHWsnGGxT5I,3509
28
28
  scaler/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- scaler/config/defaults.py,sha256=HhYpemdTj1LQUZx8Fga5zVvCeIld1vvaNhTPjP2sRB4,2865
30
- scaler/config/loader.py,sha256=nQXS7ysT5p-IVTjVTzfC19ZDdsQPBh1lnD-MX7DVHL4,3866
29
+ scaler/config/defaults.py,sha256=qh8zWrevVPBOLW5O85Tz031oiPUpkHbRal5fWBDuVGQ,3047
30
+ scaler/config/loader.py,sha256=bjBGPv0AeYH8Hh3hOs2GsMB3M2Y5nXWL5eKG4r6KKYU,3866
31
31
  scaler/config/mixins.py,sha256=o1YivS_8AzejSQ_jfSt5bkaA59DQGbw9P-rO5Z7LFVs,443
32
32
  scaler/config/section/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- scaler/config/section/cluster.py,sha256=JTn3rFM5HaOGyM-r9yd2xgImLgL9YJBkQPsAEDOXCd8,2855
34
- scaler/config/section/native_worker_adapter.py,sha256=dYPJn3a8CrGlynrlD4NlPRfA8PBkmcERPecRdf_hKWg,2262
35
- scaler/config/section/object_storage_server.py,sha256=IqdHkcBlsKYRmLgkKbmth93FT7QH5mmFD7GFq3ddIyw,199
36
- scaler/config/section/scheduler.py,sha256=oORVUwDuZ6hNzT1haGYBx1MP4pSwMlptQETd6Yoa7Xk,2666
37
- scaler/config/section/symphony_worker_adapter.py,sha256=6aSlCCqazcamhd2fILtbItzPHnwK4dlkm8OdonK_zyI,2024
33
+ scaler/config/section/cluster.py,sha256=A17dfUUOUmT4f8UIFB6gBv2TaFCVlhcgXVx1MbbN7x4,2861
34
+ scaler/config/section/ecs_worker_adapter.py,sha256=hNTA6OZbUk1BxVQDiOhvdPriM_w77o19jzJ8c0JlZZ8,4225
35
+ scaler/config/section/native_worker_adapter.py,sha256=yu5NTJscxtOqvTJHwXlKPgBkIi4nRz8-LfGfsD7UCzk,2268
36
+ scaler/config/section/object_storage_server.py,sha256=XmRBD4Bl7Xs1wiEzppIG0JFS9Ma4NbC6sKiTKc_aMuI,200
37
+ scaler/config/section/scheduler.py,sha256=XtZ6fd51SVpkBjYG_XDmu2DqRZuLCTOD1vWYgplh5Yc,2883
38
+ scaler/config/section/symphony_worker_adapter.py,sha256=PJTuSppV7iObfLvXaUVf3vbcNQlipaE5hqkPtArG1Yg,2024
38
39
  scaler/config/section/top.py,sha256=4YUCyZTRVfINUhV56j50pg8be5o8nlWxG08fDqofHrA,288
39
- scaler/config/section/webui.py,sha256=-9oFn1C64re2xZ_KKJIsHG--6PaVTvCP9vmRZNR_9MA,487
40
+ scaler/config/section/webui.py,sha256=WOiwbDcL7jJ0EPCwlWp-9XWoPFRRQUYQJkIYtk5qVRo,727
40
41
  scaler/config/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ scaler/config/types/network_backend.py,sha256=o-tBD08ScOohuffqLyN3qeB-Ng4o-cGI8LWDR1ZLE4Y,321
41
43
  scaler/config/types/object_storage_server.py,sha256=xvuCwiAQ4C_hKgTI4y6XMx9NKE0aX2QC6dlWNyvJyk4,1338
42
- scaler/config/types/worker.py,sha256=0pt871QcyQ0_PEDVPxxgnnk3l5_syQA-71V1bhUmf0g,1708
44
+ scaler/config/types/worker.py,sha256=ney8uqCzf5j_uPIghzj6Nd-OHDeTK6tZF8m4sVNCUM8,1708
43
45
  scaler/config/types/zmq.py,sha256=0VODax61H-4PxN6rIeWKlMXOHiW5elVSt1zc-UF0SL8,2593
44
46
  scaler/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- scaler/entry_points/cluster.py,sha256=5jPO_fFVe8IiSiAkLhLZ0mXJKXiYUWjvpXjEGlcgwW4,5779
47
+ scaler/entry_points/cluster.py,sha256=6EX08djqhtQZfwUiqeyOVJBytWCYFehqs9Utas--wy4,5801
46
48
  scaler/entry_points/object_storage_server.py,sha256=YGDl9-ws0oha1YXXl3gFH660B-IV2o06gCp41zUovdg,1418
47
- scaler/entry_points/scheduler.py,sha256=uJkmr1M3gzTEWmntdDr0f0-zls2V91vRPANahRjFj0c,6003
48
- scaler/entry_points/top.py,sha256=pqOPD27HeZrnMvqw4cOF4bvZ-sxgg7zp_Q1v8VtbC4A,9542
49
- scaler/entry_points/webui.py,sha256=ypcrE6Lr4rUX_qM0qSsv-dX7kzZiMMWTe5GL-Ol45BI,1067
50
- scaler/entry_points/worker_adapter_native.py,sha256=1If3xEu2YsnRIrAmcP-MXmnVTF7hescDed4jTL3vkzM,5412
51
- scaler/entry_points/worker_adapter_symphony.py,sha256=MUoJKBmZGiD6kXygMsvfNa5YQzjYfcI9RwfwLEA_eFU,4469
49
+ scaler/entry_points/scheduler.py,sha256=OMaxx45d7ErzcAs57DgmYEqm28sHLTrIsuUJy9sLGdU,6476
50
+ scaler/entry_points/top.py,sha256=FRlF6Dk8b3sL41CTENGauBBxrMZx5JjoufqFbGiwQCU,9531
51
+ scaler/entry_points/webui.py,sha256=2xiii_T0PI8pTLJB0RKLMajRDaNYFOKaSP2X9bujMlU,1823
52
+ scaler/entry_points/worker_adapter_ecs.py,sha256=O6ypeF4asnqAw1037O2Ams2Q0kivYIeYKwTUu9hI4Rk,7836
53
+ scaler/entry_points/worker_adapter_native.py,sha256=7oN6nOdri0qvvLB6YrnF1SwExQklKFkLQMo26PPXZG8,5426
54
+ scaler/entry_points/worker_adapter_symphony.py,sha256=D1X0Y_-6lbVnVCHtwZ8fSEbgtAkMU6JLqjgEdmO_VWI,4408
52
55
  scaler/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- scaler/io/async_binder.py,sha256=sLCx9ByNkJxeRsrKvlaJj3EvVP7FJ56V7vZhFUy6UdE,2912
54
- scaler/io/async_connector.py,sha256=6epYfPNCV14KtkzMHvVZq1fzhdKXd7YptAJjLuH7Rro,2638
55
- scaler/io/async_object_storage_connector.py,sha256=2UUrF9aMVEQ7EmUkSRxJ4Yg4A4o2elcKuUz0R3lJPRg,6644
56
+ scaler/io/async_binder.py,sha256=KNZSnHD9rNbxuxGd5U0gU023Z5Ys3nVsn31KGvjOVoE,3101
57
+ scaler/io/async_connector.py,sha256=7op2onZTGVzEiBWMH3ZMAEdST01SPzu8FvyWskI768U,2638
58
+ scaler/io/async_object_storage_connector.py,sha256=F6CVMn4iMMynuMEmgH2dVAUBOnYIsQGLbnL4U1m2r3o,7767
56
59
  scaler/io/mixins.py,sha256=915V2W1NU1SjC94ioPQs0SlWlo4DiZs1YqE2POIxoRQ,4150
57
- scaler/io/sync_connector.py,sha256=zRDlBuMVbH92LqbdS35EPHXVOnaeWrvjmZZCISqqjPI,1964
58
- scaler/io/sync_object_storage_connector.py,sha256=Zeo0aVAQ_bkRnhmqG9Ozst584072uMQfASfTLixQoeQ,7324
59
- scaler/io/sync_subscriber.py,sha256=rHbnhkfxvWtyswLNEyvr3D76i-sVBnGwWAGjLp2-thk,2523
60
- scaler/io/utility.py,sha256=yFq8-X47RfWp344HpRfqc_3XF3c6vewKPLi73e248s8,1189
60
+ scaler/io/sync_connector.py,sha256=S3kQkzliIlW2-EXEOjkCl6_tw0l6ur3HdVR7RQvcrho,1964
61
+ scaler/io/sync_object_storage_connector.py,sha256=NkmjfYYbeXy0Tdw5gQNirzMAHxWv8Po6DXON83-JdfU,9352
62
+ scaler/io/sync_subscriber.py,sha256=2DOKd2xKIGc8-J2hUtqT8uO7RxGwjJQMtfqHF4fvgH0,2523
63
+ scaler/io/utility.py,sha256=najEtXZ7Gk9VdFpQ5Rys-k6hU3YbviaunX7ck697p_g,2994
64
+ scaler/io/ymq_async_object_storage_connector.py,sha256=_eWEkOtpQGk3FtEqczILrohxy-LfCncVV2Q-h-hwrzc,6635
65
+ scaler/io/ymq_sync_object_storage_connector.py,sha256=E-pwyXtHHbU9IZ2NAeMO-n1Y04Gx5cp41fFcdOqTkEQ,7329
61
66
  scaler/io/ymq/CMakeLists.txt,sha256=znJS9ru-tjtn7Lv8RN1RJZVPhlHaE5AKS44z1Nnj_vE,1987
62
67
  scaler/io/ymq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
68
  scaler/io/ymq/_ymq.pyi,sha256=HYLhjYhHTOgjffpAnlqyCSdUjEvKVRP7Slv8vIgGdkI,3036
64
- scaler/io/ymq/_ymq.so,sha256=cqodJRBz1PbzyAJLNPO9JVUTqQrNnS0R8gyANHPs41M,1109984
65
- scaler/io/ymq/bytes.h,sha256=fxaZ0NMwzJC-agotCZbGizMs-IgPW4VWG4raeWBXC5I,2931
69
+ scaler/io/ymq/_ymq.so,sha256=9uZiRL-G3Fv2yPgJrsafSKH9MuJyzpfiLo3O5v4GoMs,1122304
70
+ scaler/io/ymq/bytes.h,sha256=BAeE0DITH81HZYHXT1W7Fa1h0DPUBzX4Cpvw2JCxVXw,2922
66
71
  scaler/io/ymq/common.h,sha256=XmYnfVeaIGZU3-gI2slw4uZyRrz807ANJXSQTf1joEY,711
67
- scaler/io/ymq/configuration.h,sha256=VvtSSGgD5dCOKc-gvtsqSBDoagaRnfnUS7jueDVsn9U,1951
72
+ scaler/io/ymq/configuration.h,sha256=VbTBb96f2SYW9Oum1hCb9M65EsqUqj5SAnClUsf435w,1875
68
73
  scaler/io/ymq/epoll_context.cpp,sha256=BE-Ol2p8-t61BajaEzLK-B2ABNNDiExVbb0Ym9BjbVA,4938
69
74
  scaler/io/ymq/epoll_context.h,sha256=0Cu840Utq6puRHCTVctCWpfdfNpUFcZJqw5D7e7hzSs,2641
70
- scaler/io/ymq/error.h,sha256=BUb55lcKou20u9e_GHZ0WEmlHJeC3VQWEzW-yTuRCTQ,5552
75
+ scaler/io/ymq/error.h,sha256=J09pJxEeAiukp1HKeOekoYIRXdQzLaTwBFvPAFOaCpo,5551
71
76
  scaler/io/ymq/event_loop.h,sha256=CDvcOszqtDSqkFt3t9hsT8n9HStbIchk7UO1u-3CTL0,1652
72
77
  scaler/io/ymq/event_loop_thread.cpp,sha256=0aYMmgpg8g6mmC-Ked2F3GCHNGJNXZAZLPobEQqu7g4,1801
73
78
  scaler/io/ymq/event_loop_thread.h,sha256=XNsVDH7r4tDBlU4VstrwMBGgOMOEsoDn7qLFjox1nEg,1683
@@ -79,34 +84,34 @@ scaler/io/ymq/io_socket.cpp,sha256=Li6P-7R80YwduaL59_D2wQ36twufdIIXaP7IS46zSwQ,1
79
84
  scaler/io/ymq/io_socket.h,sha256=lWqfJHZg6OGxz16x2NwKKbtvjfErrC4IUP3puw72Nwg,4953
80
85
  scaler/io/ymq/iocp_context.cpp,sha256=SRGEn5MVoWl8JUIO2sZDUQi6AbhrXfhQ-aRoWiaF2SY,3103
81
86
  scaler/io/ymq/iocp_context.h,sha256=pAwrs8XZWHIskEdQyA5BrISxsiSzfW6r9J873pBMs4Q,2731
82
- scaler/io/ymq/logging.h,sha256=TJFeawseU8zkWiSC_yS3dO2i0oKAWAZFzyb_vk0tU7Q,5421
87
+ scaler/io/ymq/logging.h,sha256=yCbf_dc0yEStLbYp-tVtu4k69P8xwohCaBo6OHB49XA,5329
83
88
  scaler/io/ymq/message.h,sha256=yBAd5BIeDttWqseyoUBPKPnD1qT05o_vlqEN3J53lP4,241
84
89
  scaler/io/ymq/message_connection.h,sha256=dvkIjMt31gPFephJURtxcqm7TFAWZ3y0ZvuekXFL3_Q,350
85
- scaler/io/ymq/message_connection_tcp.cpp,sha256=yxIFZBzShzAEUUtHXhSj6sy_udRC-Jw-TwvZk3Vio6Q,21902
86
- scaler/io/ymq/message_connection_tcp.h,sha256=C7jo2fVeHqdhIk8cAaVNAnnF8IyIIJT0EZC1Sf_MDe4,2743
90
+ scaler/io/ymq/message_connection_tcp.cpp,sha256=Q94sCAChQim50nDGmuXIOi0OXeIPAuBpKgQeLNf1rIc,22687
91
+ scaler/io/ymq/message_connection_tcp.h,sha256=Ikqpbry51Dd82XoS5edKj9sb8dWTK-R1S8s36vZoxGs,2798
87
92
  scaler/io/ymq/network_utils.h,sha256=qebEdeKYpztZLI02c25eqcRmFMqBZN3GEaE81fiyBF8,4142
88
- scaler/io/ymq/readme.md,sha256=gzjJJovTVjV0e-4QpjrscT0gmtDiPjszAIlVt5upshg,3739
93
+ scaler/io/ymq/readme.md,sha256=t4uuIGpf-N9a3ohWq3rHtiWaxVxZa1Z3PPcY7wZmYp0,1813
89
94
  scaler/io/ymq/simple_interface.cpp,sha256=BpsjGW3xGCajnQDa9UN8GJA_Xu15LfJTU4IRnsGOA04,2912
90
95
  scaler/io/ymq/simple_interface.h,sha256=QK79wrltmVA2vE649p4F3A82D91Rtlrw-td6M5m56wU,868
91
- scaler/io/ymq/tcp_client.cpp,sha256=OTyi5w355ovB4pbBcv82dt4zul9tCHpwxp_EJJ7jsXo,10480
96
+ scaler/io/ymq/tcp_client.cpp,sha256=Ykath88D8L9NCtz1pko8xRuTnc6pUHI_ViAQsPkWEls,10489
92
97
  scaler/io/ymq/tcp_client.h,sha256=QBa2Ejz8bJBzYmopEYw5SjN8a4HLH8Aopq0m6l0JLIg,1757
93
98
  scaler/io/ymq/tcp_operations.h,sha256=EbUk2p35jtHuu18NZc9ibkNeVaVjIzcSn_jjNN2sRYA,1069
94
99
  scaler/io/ymq/tcp_server.cpp,sha256=uKugKzi64dlIQRwCSRB40rdYF2mMDFJK2sAmNVdTNF8,12196
95
100
  scaler/io/ymq/tcp_server.h,sha256=MJCZcrj_JFkmyCv_dIRgAbAktf7XWTVFpRYLWSWYk7Y,1979
96
- scaler/io/ymq/timed_queue.h,sha256=mLNGGqzrQQe56L_-M1Rui1AQaUb3c_IiMiw9HF92rZE,8382
101
+ scaler/io/ymq/timed_queue.h,sha256=A2nu0ZZYt95HTa6zCniKvCe1H3qdrSYjW7_29fgYchI,8278
97
102
  scaler/io/ymq/timestamp.h,sha256=BMRfCYUxGVDBzKHSmnRW1wfQy2y5TMWJQgkk82h7GO8,3065
98
103
  scaler/io/ymq/typedefs.h,sha256=HZlHobpq16DkhbIEAJLBTFgbmMul99S7cWjW7vpmRj0,331
99
104
  scaler/io/ymq/utils.h,sha256=pZ2Qs19_0FzbSka2BV3Mv94jW7EXrLuS8C7cL1fnZ78,796
100
- scaler/io/ymq/ymq.py,sha256=d8bxU0h2maQvIkiJgGeTD-QynCOa4JwYCwuVfxqq9AE,4658
105
+ scaler/io/ymq/ymq.py,sha256=iu0xEkn2mONDB9MkDolYwZ9COtKFsCJU0Q23tRYosS8,4919
101
106
  scaler/io/ymq/pymod_ymq/bytes.h,sha256=srlYnWibw2a9mgulzCc5H-7TnMob8QWA2ChAdbZ4bxw,3135
102
- scaler/io/ymq/pymod_ymq/exception.h,sha256=4nfUpc8VJDRZeBvgmOZN_j0FHmryZTbxzzBrWQKhhG4,3573
103
- scaler/io/ymq/pymod_ymq/gil.h,sha256=YdFOBWEBC1TSYmIvzr5NDZf-xmm49PMGqYP2nh-5Fk8,403
104
- scaler/io/ymq/pymod_ymq/io_context.h,sha256=03DcUlHCZyk78rNJmxRFgjxFOiQLWCq5FLm-gEENi0k,5014
105
- scaler/io/ymq/pymod_ymq/io_socket.h,sha256=1M7NhhyP3alEJ9fnS04cwY9Frz4b5gZ19qPCCGxSeLQ,9674
107
+ scaler/io/ymq/pymod_ymq/exception.h,sha256=BWIMRYsHFPHUe6hezS6qX8YMvwHM03aqJkwcjrYWbGE,3506
108
+ scaler/io/ymq/pymod_ymq/gil.h,sha256=rfmgZ-jEaCOg4zZDKVpVgZPj2qClPIIrSV0Zg99BWI8,449
109
+ scaler/io/ymq/pymod_ymq/io_context.h,sha256=YksNyyeEIElgdkrm-OzWLt-gvPgW5fIpXssxh5rG9mA,5302
110
+ scaler/io/ymq/pymod_ymq/io_socket.h,sha256=T72_Qdrdzwy-YZKAQYyvu1Sn3bklgPfG6xeDK2UUUrw,10333
106
111
  scaler/io/ymq/pymod_ymq/message.h,sha256=gqYKDnNCK9W1q0gte0pGfbmx119gQvcWBaJzIFdRsuc,3039
107
- scaler/io/ymq/pymod_ymq/python.h,sha256=wb0-WNF4occ4nDphSoUI47_OrfVPP72eLlGC_B59b7c,4284
112
+ scaler/io/ymq/pymod_ymq/python.h,sha256=dHM6dZG7zN-fIXqLApLuQ6M0rWnY1BZJFgbuVL8U9aU,4520
108
113
  scaler/io/ymq/pymod_ymq/ymq.cpp,sha256=LoxL5ViLK0zyWRSYfmZn0QO-0vLw3xVZrRQJ5rWtc4w,526
109
- scaler/io/ymq/pymod_ymq/ymq.h,sha256=p3cNnvgv8R1ThCBM56G-OlINWZsm1Xd0o14kpItG9gw,11892
114
+ scaler/io/ymq/pymod_ymq/ymq.h,sha256=EzNOf9O2yy-HtnJyGL7QzMu6UYz6kk3Nx2Cd9qR9rVg,11798
110
115
  scaler/io/ymq/third_party/concurrentqueue.h,sha256=yN268t8miyojar0bBBPIEjMI3DlHVZci2eufkDDA0FA,152819
111
116
  scaler/object_storage/CMakeLists.txt,sha256=qexi6sKNGieaRhKkO65kxdaQrKRY-8adYKlvc42aEew,1566
112
117
  scaler/object_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -116,11 +121,11 @@ scaler/object_storage/io_helper.cpp,sha256=br6q-NaeJtP6H_RSfc-SqGzSeS-wDDBFSnOfq
116
121
  scaler/object_storage/io_helper.h,sha256=5dnhVau4oALdjuHhgk2NF1x2a6pNETDG08Z5YqzITq4,145
117
122
  scaler/object_storage/message.cpp,sha256=nOaLu--Q1UyRLLHZY_8obHtGEhSnPiSnMSbF5uO58lk,1738
118
123
  scaler/object_storage/message.h,sha256=8KCts7n36jys3PiX09-lPtfa6DjfHI_2hYvled9afG0,4208
119
- scaler/object_storage/object_manager.cpp,sha256=cxNv9vOkCC910hlF5JF0mOUwTho8ieA1RJgF_P4e3ho,3083
120
- scaler/object_storage/object_manager.h,sha256=TkxICR8_20I-tkHwnMO0VpLWkm24vOEabrmQG6hdnmQ,1696
121
- scaler/object_storage/object_storage_server.cpp,sha256=ZiMpLOakguD3p108OVRf0XQmsZtHN5tw5Fs46Pq0nwA,13794
122
- scaler/object_storage/object_storage_server.h,sha256=X8W4QFHgNUmBOsJ-JfADfMu9Z4pti8OFYyMR3C1Am1Q,4244
123
- scaler/object_storage/object_storage_server.so,sha256=mT-orlvKj4Z4VDaBdbUV6NwKU6eUvJmLz5qSE_fJscM,1349217
124
+ scaler/object_storage/object_manager.cpp,sha256=0QjT_Bjih5sEpV2U0yCHNC5PRUnyzMUohymg9A6oUsc,3322
125
+ scaler/object_storage/object_manager.h,sha256=8nz4lb6jmRqYpeRpRkNZDFvF3k1HoGhOO__IRsE2LkI,1803
126
+ scaler/object_storage/object_storage_server.cpp,sha256=ysEqpQteRcfw_fyuk4UgrXfJpmdwQvPvyRLbqx8JInM,15153
127
+ scaler/object_storage/object_storage_server.h,sha256=NX3mg8cElw3mBmJwCBK3tgI-HONiJBRumPwxXL494kA,4356
128
+ scaler/object_storage/object_storage_server.so,sha256=dQY5K8PF97cTtjtrCcW_HbnF4j__EM09u7AwCQb6RM4,1349217
124
129
  scaler/object_storage/pymod_object_storage_server.cpp,sha256=D09p81wZF6WnV35I6od3iDhgktV20v82CRR_tQ90ROs,3811
125
130
  scaler/protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
131
  scaler/protocol/introduction.md,sha256=G8oRzui4KmSlfFUu70y24tTmDmfEKBkog9tFVUn7G1U,5406
@@ -128,20 +133,20 @@ scaler/protocol/worker.md,sha256=o2Hh_HCooqrptpXcHGzuzUkO_o4NWOurp7ja-DQi5ho,105
128
133
  scaler/protocol/capnp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
134
  scaler/protocol/capnp/_python.py,sha256=VfKp2UQBJHiW8Lh6sjQnmW4tl0BQenIPHKD05ALC_dk,284
130
135
  scaler/protocol/capnp/common.capnp,sha256=jKdRGp7P_32L3_1yC_7KjrFBg4eRAdsT7JfbyEQoZoo,1672
131
- scaler/protocol/capnp/message.capnp,sha256=IKGuV4f4U4EwXtrUENVSteLbgux0sVtQ2b-XVJlv2D4,4475
132
- scaler/protocol/capnp/object_storage.capnp,sha256=aXVgSPkKidiZEafpt4hLr6bVBZBrW6VizVEDCY65TKg,1498
136
+ scaler/protocol/capnp/message.capnp,sha256=eC0Fkwdb0TWgW4k3Wlk-Sz-5dVFQzhGoGwUbA3vUNY4,4529
137
+ scaler/protocol/capnp/object_storage.capnp,sha256=YFOMPggwqwZXRW-U5WUzR8kEFN-tNBrxppCWywGIiDI,1764
133
138
  scaler/protocol/capnp/status.capnp,sha256=Jr3fGv46CdhN-UmWAmLvNWaPUxcUulOActbA5rvrsa8,1359
134
139
  scaler/protocol/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
140
  scaler/protocol/python/common.py,sha256=8kFVkTCuI8tfa-1Owd3N8ek3fyLL48FhZWBrg9C8vc0,5108
136
- scaler/protocol/python/message.py,sha256=qroRJcQwHaiUQdAbu_Cd9Giw3MXpieUI49A0gmzXXBQ,21680
141
+ scaler/protocol/python/message.py,sha256=B4Axak0EbuPquwvZ4VjvZX2EAXT8ZEr8DBNWzNJaltA,22064
137
142
  scaler/protocol/python/mixins.py,sha256=BjGRDyjgezg6_3-68NO-E-0nhu20RQ8CJTyLZBCo9vo,238
138
143
  scaler/protocol/python/object_storage.py,sha256=gWmtwtAbUOEZUNooDpvU5jUvdfZGFuzY0ehSptAyH3w,3915
139
144
  scaler/protocol/python/status.py,sha256=u_5leag2vHhpbA4lw2U9FJyWC8_b7rnXPhK5FelGBwk,7808
140
145
  scaler/scheduler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
- scaler/scheduler/scheduler.py,sha256=245tc_xAnmDr5E_g0aXWLvpr0ViiZNaHker2P74akiw,11212
146
+ scaler/scheduler/scheduler.py,sha256=JX-FR-CgtgfVp9Nw1mg-T7pPGXOdPiBkhLHJDYAfjXw,11163
142
147
  scaler/scheduler/allocate_policy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
148
  scaler/scheduler/allocate_policy/allocate_policy.py,sha256=efBAR2bzkct3mRf94NLlYtVszdWLrm5CTWuyAD9LH-s,315
144
- scaler/scheduler/allocate_policy/capability_allocate_policy.py,sha256=DyQC9pVe_e11OYSLMe5NSr03gbtjb_TOWU49H9Ndd_k,11826
149
+ scaler/scheduler/allocate_policy/capability_allocate_policy.py,sha256=ya47keTt679fADdHyqPDohthx0aO2AG1LlIqx3lf0EU,11836
145
150
  scaler/scheduler/allocate_policy/even_load_allocate_policy.py,sha256=zzeRfbw7_SqZdQf7DC9Gf1CIA65DQL44q9K56pyEr8E,5906
146
151
  scaler/scheduler/allocate_policy/mixins.py,sha256=LKcG-B_Xb7WvueD59ZThEaLTD8yFwf3u9oi0wkLtN00,2229
147
152
  scaler/scheduler/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -149,12 +154,18 @@ scaler/scheduler/controllers/balance_controller.py,sha256=b5HfiR0C4zu0NhXgEAQvaQ
149
154
  scaler/scheduler/controllers/client_controller.py,sha256=_BJbHEz7MPPMgb7vw8qwZYokFQPAjY5JOdO0sy5ZYHk,5262
150
155
  scaler/scheduler/controllers/config_controller.py,sha256=8YM4Ofg8biZLfkkQUEIhgnWBjOVp_5iYieNeavkt4zA,1064
151
156
  scaler/scheduler/controllers/graph_controller.py,sha256=RmqzLjZ8e5X2IZdcnQrbNBYcrCe-8oy1-RX64U6kCP4,17549
152
- scaler/scheduler/controllers/information_controller.py,sha256=TfSXsY5YXh8lMKrnJvG-qdeaLyZNGlYRFZOlhBkuy2k,3258
153
- scaler/scheduler/controllers/mixins.py,sha256=U4Oz1QOEeyedorl5NgEErkLbFxN49rlDh48yuBsRxJQ,6335
157
+ scaler/scheduler/controllers/information_controller.py,sha256=34BRJ6JzPrtE3QHn87uMnCtuW7_YILZjA9OLDCB7PkM,3318
158
+ scaler/scheduler/controllers/mixins.py,sha256=7zdcIln95MEOuv0hECT7uIXFmTwWcrCdx-7ES66BNNY,6149
154
159
  scaler/scheduler/controllers/object_controller.py,sha256=PNHiQ3-92jbbHwKjQ_YVbupmFbBhMJ5ilom1MxnRIm4,6173
155
- scaler/scheduler/controllers/scaling_controller.py,sha256=_vOt3joflF5GEKNfHKt7jiBL7_Kcuha5IG7YXJ4cMd0,3858
156
- scaler/scheduler/controllers/task_controller.py,sha256=67rAXc66h1NeL4-RcQLjI8FhZbJhBrTjxnkpltH4KgY,18061
160
+ scaler/scheduler/controllers/task_controller.py,sha256=9Rhenwqeqypb2uBpF7wCXOKur618O2ZmOTOmtzRezLw,18208
157
161
  scaler/scheduler/controllers/worker_controller.py,sha256=PT8ZIf8cs7FqNIDek6_g7L3dyiKStKydKANYB6aEu5s,6929
162
+ scaler/scheduler/controllers/scaling_policies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
+ scaler/scheduler/controllers/scaling_policies/fixed_elastic.py,sha256=jJKpDFkGxhO4_cwA0rJohLtwEGvmVGte0HM5U46EZLM,6607
164
+ scaler/scheduler/controllers/scaling_policies/mixins.py,sha256=-j1YCJLNO5T7s4H3WvpDVLfBSGHzcN2V6k-yobI1rBc,279
165
+ scaler/scheduler/controllers/scaling_policies/null.py,sha256=Z15jvo2WoWUNLYw19GSE1uxXWILRRYB58seK8e39BCc,475
166
+ scaler/scheduler/controllers/scaling_policies/types.py,sha256=tGFq2HNWJoc06P5KKHzH3uq0LfjPtfkZpMcVjIxeTuM,159
167
+ scaler/scheduler/controllers/scaling_policies/utility.py,sha256=WWcCBzNL87gZr2ygKBIMKgWh0oFvI-K3PkAXUQozCSU,1146
168
+ scaler/scheduler/controllers/scaling_policies/vanilla.py,sha256=PdfdJzd2SlQ5CEXv7JHe0hAMzW3vUuYU0mnTFr_fPTQ,4253
158
169
  scaler/scheduler/object_usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
170
  scaler/scheduler/object_usage/object_tracker.py,sha256=cx7n-TsgvhXK7bVqeam0LW6C8vaOPwKLeIRHSzW6Cxs,4600
160
171
  scaler/scheduler/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -163,20 +174,20 @@ scaler/scheduler/task/task_state_manager.py,sha256=wrpLc-HsW7VzUTiNK8LsUPHxMrm8f
163
174
  scaler/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
175
  scaler/ui/constants.py,sha256=GVljwcm14bTpEj5k0Cfoe5NFXxepGFZl3Rm-mSHoZ-A,167
165
176
  scaler/ui/live_display.py,sha256=TAOhD-RxMBoL_dqbXBmaYrjR25y-ETA2xu0EJ0YMvvk,4366
166
- scaler/ui/memory_window.py,sha256=MOb8TcJ52ui86TRiS5R-HMf4-Y5K0FAc5LxOGT4TmLg,5576
177
+ scaler/ui/memory_window.py,sha256=DbUclcU8lH6dlKxNavjCyKeMKlfK9uIHrIP6NDcXEUk,5498
167
178
  scaler/ui/setting_page.py,sha256=ii3UAtle_B4b61XJAmUThiNgEWkTs2PX-YboHoBplxs,1737
168
- scaler/ui/task_graph.py,sha256=DvLDWi28f3Bne0sP1yEa_b5JsCi1YMHKtIB_7UpvwTQ,15442
169
- scaler/ui/task_log.py,sha256=gL8--WzxwN4KSWUpeLPhBtplDOhM78cUBoT3YJHEfrU,2552
170
- scaler/ui/utility.py,sha256=AdXlU6wpxwbwIzASPg3hjTJTSEDYZ1-Q5afiHEQbXrY,1158
171
- scaler/ui/webui.py,sha256=e_AKdhEQMS8Jd1kqc45xbA2U40wgy2TgJ5XmRrRephA,4902
172
- scaler/ui/worker_processors.py,sha256=JAzrrDEQDmX0f88rh-F8dOam2UUdlDkGGa1ui4Ak7tk,3072
179
+ scaler/ui/task_graph.py,sha256=_yUfEy0AYghl3spUyZXVdb_9APwHK6_1fyZpif3JDDE,35972
180
+ scaler/ui/task_log.py,sha256=wKdZWLmhIk-Y2fKkMzxL891N9mAM6uw6fNGCAjZMrEc,3716
181
+ scaler/ui/utility.py,sha256=fTYwVO9gD7uGrzfAoZjnGV2pQdxePPbg0YxWxe6buBI,2102
182
+ scaler/ui/webui.py,sha256=JSrEzDSG8R1lN5_FA44jhPalNttKmX9EccqiP4hVc80,5178
183
+ scaler/ui/worker_processors.py,sha256=hDXx1RZYgSB8KLNSvybLQL9HDg3x6ZgXDUoRGl3kfzs,3415
173
184
  scaler/utility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
185
  scaler/utility/debug.py,sha256=FKJZ0xyy9XFEzYB86H_Cfs-0Fd42oUr9rppY1Qd8Ikw,407
175
186
  scaler/utility/event_list.py,sha256=-ifYdr2IiLNRzY72l6iAdDpkg8Rgfz5YkRxqudSKPX4,1532
176
187
  scaler/utility/event_loop.py,sha256=BDKzbecbAfLWORGAIAiAG4KbObWCRnReD6t6o2IhIPE,1838
177
188
  scaler/utility/exceptions.py,sha256=vXV1fUebZ8tRFGqTEDM6O5LsL_vScDHNQ8ZezdjEiPk,532
178
189
  scaler/utility/formatter.py,sha256=QJUAxZWqWqrJb-MGRkHTeRHkJNRcpPg4Q_E5VOlhMsI,1008
179
- scaler/utility/identifiers.py,sha256=88rqhRupaw2YOux8TsVbsrhxoWPDAU4vj3ehSqiJukk,2868
190
+ scaler/utility/identifiers.py,sha256=EA41F2JRbJ5bhRJCZJ_ACF_JRnHNY8TFxvxvoeBBK1A,2803
180
191
  scaler/utility/many_to_many_dict.py,sha256=JLv3a3Wb6OcXT462exMZ_LsrizXWXUdQCz_WCTBV3bM,4641
181
192
  scaler/utility/mixins.py,sha256=0b4_tTc35J5Aa8Ac9hn5j6-OL6sLmgD-9xm24-C51YA,266
182
193
  scaler/utility/network_util.py,sha256=OeypHvDEHNlz-U7MucBDglyVg9LahLNsqwwpXjW-ot0,243
@@ -200,32 +211,34 @@ scaler/utility/queues/async_sorted_priority_queue.py,sha256=f4k1dO34LcJkq1OMLbI_
200
211
  scaler/utility/queues/indexed_queue.py,sha256=MLFkXWEZ8HaJC-gKZD9F9gf-oXL_lJ7O317FnTWFCuQ,3077
201
212
  scaler/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
213
  scaler/worker/preload.py,sha256=gjkNx1IvRBk_bJeYCBN_tD6Vyw8n0LJbnI1O2qwZz18,3086
203
- scaler/worker/worker.py,sha256=Zj4kGey1FAgF7vzY6R0q2Xp48cJei4jh9IMyi9N2NDc,10937
214
+ scaler/worker/worker.py,sha256=Z8l4NhyinnjZsTdpeUbQII9sC9LoJzg2DMrVQlgNDKE,10986
204
215
  scaler/worker/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
- scaler/worker/agent/heartbeat_manager.py,sha256=R-pWuH8xixqHsANGVv_pFkJtFie4S2VNHlFa4olWfJA,4730
206
- scaler/worker/agent/mixins.py,sha256=fhTytvyBHB3ydIy-J1_q4bvp4fsCTUPAU2ZDC5rCQFI,4067
207
- scaler/worker/agent/processor_holder.py,sha256=TZoTG6C7NkSmYkg7MfVEmK2AIxaRBqLVp1ZMZwNlfuE,5065
208
- scaler/worker/agent/processor_manager.py,sha256=BBBf7DirMvCgfVXzBRgyX76QE8lFnsjIW3KL465bpo0,13375
216
+ scaler/worker/agent/heartbeat_manager.py,sha256=9eeFDYuYcn6teuIRIcA3LJts8VN-DsGiJR4N0QgAHWY,4793
217
+ scaler/worker/agent/mixins.py,sha256=ckpb2tjLW6mFY3S_tFkUzvKi2dkCb_datKWLJqYDNDs,4074
218
+ scaler/worker/agent/processor_holder.py,sha256=Jlu2o0tArrRo5RnympYiF5EaSPNbLPceg3nbx2d2fu4,5096
219
+ scaler/worker/agent/processor_manager.py,sha256=jso_12HDEt5CvGlVslH_w_B2C5YNmbPm4LKk_zHEcjk,13397
209
220
  scaler/worker/agent/profiling_manager.py,sha256=77qF_b8LhfKszQ5eNZiUUc9FqcBCH5Uo1jpEklbCExg,3977
210
221
  scaler/worker/agent/task_manager.py,sha256=7X1J9MW8Ib58t1dBb84yhkZVo60zezKn-Z5M2oF-RoA,6149
211
222
  scaler/worker/agent/timeout_manager.py,sha256=HAUBUOhFh8QTeuYTrhInr0mX1O12PGbODBkkUtcLReQ,602
212
223
  scaler/worker/agent/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
224
  scaler/worker/agent/processor/object_cache.py,sha256=6IlU1hAV3ZgapNj9UMXJI_eN7uwVbCvVh9Vhlv6arEs,3857
214
- scaler/worker/agent/processor/processor.py,sha256=DZgJEvUXKYbpqCO72rCAhYaTJa-ZilShPe_ympy1ksc,11104
225
+ scaler/worker/agent/processor/processor.py,sha256=6H26lFUd5QSc7XI-w8BVYlA_5oa06bL2UeeTja6T18A,11133
215
226
  scaler/worker/agent/processor/streaming_buffer.py,sha256=aOBfbC3VOveYvpR6HIqBcTCXPc--dY0-q1IGIAXeI1k,863
216
227
  scaler/worker_adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
- scaler/worker_adapter/native.py,sha256=FYlw7TFY5zn2re-9bJ5SnTCAAsx7I_4HEbRJIkRlz9E,6179
228
+ scaler/worker_adapter/common.py,sha256=6i6rhgoOioDDkBKGFCsrTTlI3OJnc3r-cKCNoR_GLls,636
229
+ scaler/worker_adapter/ecs.py,sha256=KNQhOkzS4xTTtqmmWhK_PZtngPtqErXbd6akek6hYIo,11596
230
+ scaler/worker_adapter/native.py,sha256=yFgjCwmOmWRzKrWgaRswtpUMOTKQHEN1L1x2DdX58js,6551
218
231
  scaler/worker_adapter/symphony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
232
  scaler/worker_adapter/symphony/callback.py,sha256=ofy3rstxgezT8uT7Y1B9im-CwMPGlJHCd1EuHuViGqw,1534
220
- scaler/worker_adapter/symphony/heartbeat_manager.py,sha256=FjTqllDCTUeNaUD7sEyT61IhYxsXMWiBlF-FO2dOZzY,3201
233
+ scaler/worker_adapter/symphony/heartbeat_manager.py,sha256=PukyrkU7Ea8M-Icgx3KHhFNaKmizj7g71iFzj-N1TZo,3264
221
234
  scaler/worker_adapter/symphony/message.py,sha256=HOonEASua8e-uwpPVxprjyl1rrYmFJaSd8FaobbK5VE,688
222
- scaler/worker_adapter/symphony/task_manager.py,sha256=phgx8dtAv-5ynsvsmG4DKcSlENz4b340FE6LDUWyMwo,12139
223
- scaler/worker_adapter/symphony/worker.py,sha256=VIDOoqVXbwrjHYN3lghbQpEIuCbVJUgiYsBknrI-0oc,7957
224
- scaler/worker_adapter/symphony/worker_adapter.py,sha256=eAAD1O0Uz1pjEdQPPl2fd8kyaF6q-aqCRrg48k1ocUU,5455
225
- opengris_scaler-1.12.13.dist-info/METADATA,sha256=ETTF9ysLYGYoViBW74q-0f5eprUiesTpR2y7hl0ijwk,27234
226
- opengris_scaler-1.12.13.dist-info/WHEEL,sha256=4wppc7XK8XyImqEMe_MI_VzPhF-ahW4R81F5uWo_v_U,118
227
- opengris_scaler-1.12.13.dist-info/entry_points.txt,sha256=KROw4kj4Z6p8YuOgpOFt5spHskm87A7Z-fOOffT4tVU,446
228
- opengris_scaler-1.12.13.dist-info/RECORD,,
229
- opengris_scaler-1.12.13.dist-info/licenses/LICENSE,sha256=xudC0jta6OXJkSHiLzzQQU50HIwSo0G97exO280dtR8,11345
230
- opengris_scaler-1.12.13.dist-info/licenses/LICENSE.spdx,sha256=i49Qe6AmXxuvocKyExEFduvdh-NQ5YuxdHs515G8VOQ,225
231
- opengris_scaler-1.12.13.dist-info/licenses/NOTICE,sha256=JUHdG2ssq0nP2QsqPM8X2eJhfJhK_lemIvDBqBRXrMo,286
235
+ scaler/worker_adapter/symphony/task_manager.py,sha256=C-qAn0dH57rEEIjnqV8KLKF48bq0dAKSomgS7ITS1c0,12181
236
+ scaler/worker_adapter/symphony/worker.py,sha256=0GGHo-7uWDISvJKw94r1wfAQr-5_esVtoRXa1jdFVyo,7932
237
+ scaler/worker_adapter/symphony/worker_adapter.py,sha256=bFQ_LkAg8wqNzzQkBZRAVvzlNF8RnIWtWfnQBg7KJ9U,5732
238
+ opengris_scaler-1.12.20.dist-info/METADATA,sha256=-zI7YAkSb3Vk3KL5uR98Ghd9lXLhc3b_PuHapTObYVY,27422
239
+ opengris_scaler-1.12.20.dist-info/WHEEL,sha256=4wppc7XK8XyImqEMe_MI_VzPhF-ahW4R81F5uWo_v_U,118
240
+ opengris_scaler-1.12.20.dist-info/entry_points.txt,sha256=1nvHjpnx1XRfxDTeR9MzO30-jsBHAHrd2YRFp2FvtwE,518
241
+ opengris_scaler-1.12.20.dist-info/RECORD,,
242
+ opengris_scaler-1.12.20.dist-info/licenses/LICENSE,sha256=xudC0jta6OXJkSHiLzzQQU50HIwSo0G97exO280dtR8,11345
243
+ opengris_scaler-1.12.20.dist-info/licenses/LICENSE.spdx,sha256=i49Qe6AmXxuvocKyExEFduvdh-NQ5YuxdHs515G8VOQ,225
244
+ opengris_scaler-1.12.20.dist-info/licenses/NOTICE,sha256=JUHdG2ssq0nP2QsqPM8X2eJhfJhK_lemIvDBqBRXrMo,286
@@ -6,4 +6,5 @@ scaler_ui = scaler.entry_points.webui:main
6
6
  scaler_object_storage_server = scaler.entry_points.object_storage_server:main
7
7
  scaler_worker_adapter_native = scaler.entry_points.worker_adapter_native:main
8
8
  scaler_worker_adapter_symphony = scaler.entry_points.worker_adapter_symphony:main
9
+ scaler_worker_adapter_ecs = scaler.entry_points.worker_adapter_ecs:main
9
10
 
@@ -13,6 +13,7 @@ from scaler.client.agent.heartbeat_manager import ClientHeartbeatManager
13
13
  from scaler.client.agent.object_manager import ClientObjectManager
14
14
  from scaler.client.agent.task_manager import ClientTaskManager
15
15
  from scaler.client.serializer.mixins import Serializer
16
+ from scaler.config.types.zmq import ZMQConfig
16
17
  from scaler.io.async_connector import ZMQAsyncConnector
17
18
  from scaler.io.mixins import AsyncConnector
18
19
  from scaler.protocol.python.common import ObjectStorageAddress
@@ -32,7 +33,6 @@ from scaler.protocol.python.mixins import Message
32
33
  from scaler.utility.event_loop import create_async_loop_routine
33
34
  from scaler.utility.exceptions import ClientCancelledException, ClientQuitException, ClientShutdownException
34
35
  from scaler.utility.identifiers import ClientID
35
- from scaler.config.types.zmq import ZMQConfig
36
36
 
37
37
 
38
38
  class ClientAgent(threading.Thread):
@@ -59,7 +59,7 @@ class ClientAgent(threading.Thread):
59
59
  self._client_agent_address = client_agent_address
60
60
  self._scheduler_address = scheduler_address
61
61
  self._context = context
62
- self._storage_address: Future[ObjectStorageAddress] = Future()
62
+ self._object_storage_address: Future[ObjectStorageAddress] = Future()
63
63
 
64
64
  self._future_manager = future_manager
65
65
 
@@ -89,7 +89,7 @@ class ClientAgent(threading.Thread):
89
89
  def __initialize(self):
90
90
  self._disconnect_manager = ClientDisconnectManager()
91
91
  self._heartbeat_manager = ClientHeartbeatManager(
92
- death_timeout_seconds=self._timeout_seconds, storage_address_future=self._storage_address
92
+ death_timeout_seconds=self._timeout_seconds, storage_address_future=self._object_storage_address
93
93
  )
94
94
  self._object_manager = ClientObjectManager(identity=self._identity)
95
95
  self._task_manager = ClientTaskManager()
@@ -118,9 +118,9 @@ class ClientAgent(threading.Thread):
118
118
  self.__initialize()
119
119
  self.__run_loop()
120
120
 
121
- def get_storage_address(self) -> ObjectStorageAddress:
121
+ def get_object_storage_address(self) -> ObjectStorageAddress:
122
122
  """Returns the object storage address, or block until it receives it."""
123
- return self._storage_address.result()
123
+ return self._object_storage_address.result()
124
124
 
125
125
  async def __on_receive_from_client(self, message: Message):
126
126
  if isinstance(message, ClientDisconnect):
@@ -194,8 +194,8 @@ class ClientAgent(threading.Thread):
194
194
  if exception is None:
195
195
  return
196
196
 
197
- if not self._storage_address.done():
198
- self._storage_address.set_exception(exception)
197
+ if not self._object_storage_address.done():
198
+ self._object_storage_address.set_exception(exception)
199
199
 
200
200
  if isinstance(exception, asyncio.CancelledError):
201
201
  logging.error("ClientAgent: async. loop cancelled")
@@ -15,7 +15,7 @@ from scaler.utility.mixins import Looper
15
15
  class ClientHeartbeatManager(Looper, HeartbeatManager):
16
16
  def __init__(self, death_timeout_seconds: int, storage_address_future: Future):
17
17
  self._death_timeout_seconds = death_timeout_seconds
18
- self._storage_address = storage_address_future
18
+ self._object_storage_address = storage_address_future
19
19
 
20
20
  self._process = psutil.Process()
21
21
 
@@ -50,10 +50,10 @@ class ClientHeartbeatManager(Looper, HeartbeatManager):
50
50
  self._latency_us = int(((time.time_ns() - self._start_timestamp_ns) / 2) // 1_000)
51
51
  self._start_timestamp_ns = 0
52
52
 
53
- if self._storage_address.done():
53
+ if self._object_storage_address.done():
54
54
  return
55
55
 
56
- self._storage_address.set_result(heartbeat.object_storage_address())
56
+ self._object_storage_address.set_result(heartbeat.object_storage_address())
57
57
 
58
58
  async def routine(self):
59
59
  if time.time() - self._last_scheduler_contact > self._death_timeout_seconds:
@@ -69,6 +69,6 @@ class ClientHeartbeatManager(Looper, HeartbeatManager):
69
69
  await self.send_heartbeat()
70
70
  self._start_timestamp_ns = time.time_ns()
71
71
 
72
- def get_storage_address(self) -> ObjectStorageAddress:
72
+ def get_object_storage_address(self) -> ObjectStorageAddress:
73
73
  """Returns the object storage configuration, or block until it receives it."""
74
- return self._storage_address.result()
74
+ return self._object_storage_address.result()
scaler/client/client.py CHANGED
@@ -17,9 +17,10 @@ from scaler.client.object_reference import ObjectReference
17
17
  from scaler.client.serializer.default import DefaultSerializer
18
18
  from scaler.client.serializer.mixins import Serializer
19
19
  from scaler.config.defaults import DEFAULT_CLIENT_TIMEOUT_SECONDS, DEFAULT_HEARTBEAT_INTERVAL_SECONDS
20
+ from scaler.config.types.zmq import ZMQConfig, ZMQType
20
21
  from scaler.io.mixins import SyncConnector, SyncObjectStorageConnector
21
22
  from scaler.io.sync_connector import ZMQSyncConnector
22
- from scaler.io.sync_object_storage_connector import PySyncObjectStorageConnector
23
+ from scaler.io.utility import create_sync_object_storage_connector
23
24
  from scaler.protocol.python.message import ClientDisconnect, ClientShutdownResponse, GraphTask, Task
24
25
  from scaler.utility.exceptions import ClientQuitException, MissingObjects
25
26
  from scaler.utility.graph.optimization import cull_graph
@@ -27,7 +28,6 @@ from scaler.utility.graph.topological_sorter import TopologicalSorter
27
28
  from scaler.utility.identifiers import ClientID, ObjectID, TaskID
28
29
  from scaler.utility.metadata.profile_result import ProfileResult
29
30
  from scaler.utility.metadata.task_flags import TaskFlags, retrieve_task_flags_from_task
30
- from scaler.config.types.zmq import ZMQConfig, ZMQType
31
31
  from scaler.worker.agent.processor.processor import Processor
32
32
 
33
33
 
@@ -119,11 +119,11 @@ class Client:
119
119
  logging.info(f"ScalerClient: connect to scheduler at {self._scheduler_address}")
120
120
 
121
121
  # Blocks until the agent receives the object storage address
122
- self._storage_address = self._agent.get_storage_address()
122
+ self._object_storage_address = self._agent.get_object_storage_address()
123
123
 
124
- logging.info(f"ScalerClient: connect to object storage at {self._storage_address}")
125
- self._connector_storage: SyncObjectStorageConnector = PySyncObjectStorageConnector(
126
- self._storage_address.host, self._storage_address.port
124
+ logging.info(f"ScalerClient: connect to object storage at {self._object_storage_address}")
125
+ self._connector_storage: SyncObjectStorageConnector = create_sync_object_storage_connector(
126
+ self._object_storage_address.host, self._object_storage_address.port
127
127
  )
128
128
 
129
129
  self._object_buffer = ObjectBuffer(
scaler/cluster/cluster.py CHANGED
@@ -4,9 +4,9 @@ import os
4
4
  import signal
5
5
  from typing import Dict, List, Optional, Tuple
6
6
 
7
- from scaler.utility.logging.utility import setup_logger
8
7
  from scaler.config.types.object_storage_server import ObjectStorageConfig
9
8
  from scaler.config.types.zmq import ZMQConfig
9
+ from scaler.utility.logging.utility import setup_logger
10
10
  from scaler.worker.worker import Worker
11
11
 
12
12
 
@@ -15,7 +15,7 @@ class Cluster(multiprocessing.get_context("spawn").Process): # type: ignore[mis
15
15
  def __init__(
16
16
  self,
17
17
  address: ZMQConfig,
18
- storage_address: Optional[ObjectStorageConfig],
18
+ object_storage_address: Optional[ObjectStorageConfig],
19
19
  preload: Optional[str],
20
20
  worker_io_threads: int,
21
21
  worker_names: List[str],
@@ -35,7 +35,7 @@ class Cluster(multiprocessing.get_context("spawn").Process): # type: ignore[mis
35
35
  multiprocessing.Process.__init__(self, name="WorkerMaster")
36
36
 
37
37
  self._address = address
38
- self._storage_address = storage_address
38
+ self._object_storage_address = object_storage_address
39
39
  self._preload = preload
40
40
  self._worker_io_threads = worker_io_threads
41
41
  self._worker_names = worker_names
@@ -83,7 +83,7 @@ class Cluster(multiprocessing.get_context("spawn").Process): # type: ignore[mis
83
83
  event_loop=self._event_loop,
84
84
  name=name,
85
85
  address=self._address,
86
- storage_address=self._storage_address,
86
+ object_storage_address=self._object_storage_address,
87
87
  capabilities=self._per_worker_capabilities,
88
88
  preload=self._preload,
89
89
  io_threads=self._worker_io_threads,