opengris-scaler 1.12.12__tar.gz → 1.12.20__tar.gz
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.
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/compile-libraries/action.yml +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/CMakePresets.json +12 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/PKG-INFO +13 -9
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/README.md +4 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/tutorials/development.rst +10 -6
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/tutorials/examples.rst +3 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/tutorials/features.rst +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/tutorials/quickstart.rst +5 -5
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/implied_volatility.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/yfinance_historical_price.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/automated_echo_client.cpp +7 -11
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/echo_client.cpp +4 -7
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/echo_server.cpp +3 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/pingpong.cpp +7 -12
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/pub_server.cpp +4 -6
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/remove_iosocket.cpp +3 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/sub_client.cpp +3 -5
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/timestamp.cpp +2 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/task_capabilities.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/pyproject.toml +12 -6
- opengris_scaler-1.12.20/run_worker_adapter_ecs.py +5 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/client_agent.py +7 -7
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/heartbeat_manager.py +5 -5
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/client.py +6 -6
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/cluster/cluster.py +4 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/cluster/combo.py +14 -12
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/cluster/object_storage_server.py +7 -7
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/cluster/scheduler.py +8 -5
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/defaults.py +7 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/loader.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/cluster.py +2 -3
- opengris_scaler-1.12.20/scaler/config/section/ecs_worker_adapter.py +85 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/native_worker_adapter.py +2 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/object_storage_server.py +1 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/scheduler.py +8 -7
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/symphony_worker_adapter.py +3 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/webui.py +5 -0
- opengris_scaler-1.12.20/scaler/config/types/network_backend.py +12 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/types/worker.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/cluster.py +3 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/scheduler.py +20 -11
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/top.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/webui.py +23 -1
- opengris_scaler-1.12.20/scaler/entry_points/worker_adapter_ecs.py +191 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/worker_adapter_native.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/worker_adapter_symphony.py +5 -9
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/async_binder.py +9 -5
- opengris_scaler-1.12.20/scaler/io/async_object_storage_connector.py +225 -0
- opengris_scaler-1.12.20/scaler/io/sync_object_storage_connector.py +247 -0
- opengris_scaler-1.12.20/scaler/io/utility.py +75 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/bytes.h +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/configuration.h +1 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/epoll_context.cpp +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/error.h +3 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/event_loop_thread.h +6 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/io_context.cpp +2 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/io_socket.cpp +7 -8
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/logging.h +2 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/message_connection_tcp.cpp +27 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/message_connection_tcp.h +5 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/exception.h +2 -5
- opengris_scaler-1.12.20/scaler/io/ymq/pymod_ymq/gil.h +18 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/io_context.h +9 -6
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/io_socket.h +71 -62
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/python.h +7 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/ymq.h +13 -17
- opengris_scaler-1.12.20/scaler/io/ymq/readme.md +18 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/tcp_client.cpp +2 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/timed_queue.h +30 -33
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/ymq.py +24 -16
- opengris_scaler-1.12.12/scaler/io/async_object_storage_connector.py → opengris_scaler-1.12.20/scaler/io/ymq_async_object_storage_connector.py +4 -5
- opengris_scaler-1.12.12/scaler/io/sync_object_storage_connector.py → opengris_scaler-1.12.20/scaler/io/ymq_sync_object_storage_connector.py +2 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/object_manager.cpp +6 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/object_manager.h +3 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/object_storage_server.cpp +29 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/object_storage_server.h +2 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/capnp/message.capnp +2 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/capnp/object_storage.capnp +5 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/python/message.py +13 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/allocate_policy/capability_allocate_policy.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/information_controller.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/mixins.py +0 -7
- opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies/fixed_elastic.py +145 -0
- opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies/mixins.py +10 -0
- opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies/null.py +14 -0
- opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies/types.py +9 -0
- opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies/utility.py +20 -0
- opengris_scaler-1.12.12/scaler/scheduler/controllers/scaling_controller.py → opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies/vanilla.py +25 -16
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/task_controller.py +4 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/scheduler.py +10 -12
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/ui/memory_window.py +10 -13
- opengris_scaler-1.12.20/scaler/ui/task_graph.py +862 -0
- opengris_scaler-1.12.20/scaler/ui/task_log.py +104 -0
- opengris_scaler-1.12.20/scaler/ui/utility.py +67 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/ui/webui.py +14 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/ui/worker_processors.py +11 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/identifiers.py +2 -3
- opengris_scaler-1.12.20/scaler/version.txt +1 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/heartbeat_manager.py +8 -8
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/mixins.py +2 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/processor/processor.py +5 -5
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/processor_holder.py +5 -5
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/processor_manager.py +4 -3
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/worker.py +8 -8
- opengris_scaler-1.12.20/scaler/worker_adapter/common.py +26 -0
- opengris_scaler-1.12.20/scaler/worker_adapter/ecs.py +269 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/native.py +17 -16
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/symphony/heartbeat_manager.py +7 -7
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/symphony/task_manager.py +2 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/symphony/worker.py +7 -8
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/symphony/worker_adapter.py +12 -15
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/CMakeLists.txt +15 -10
- opengris_scaler-1.12.20/tests/cpp/CMakeLists.txt +6 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/object_storage/test_object_storage_server.cpp +117 -0
- opengris_scaler-1.12.20/tests/cpp/ymq/CMakeLists.txt +3 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/ymq/common.h +48 -22
- opengris_scaler-1.12.20/tests/cpp/ymq/py_mitm/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/ymq/py_mitm/main.py +2 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/ymq/py_mitm/passthrough.py +2 -1
- opengris_scaler-1.12.20/tests/cpp/ymq/py_mitm/randomly_drop_packets.py +50 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/ymq/py_mitm/send_rst_to_client.py +5 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/ymq/py_mitm/types.py +3 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/ymq/test_ymq.cpp +224 -30
- opengris_scaler-1.12.12/tests/io/ymq/test_logging.cpp → opengris_scaler-1.12.20/tests/cpp/ymq/test_ymq_logging.cpp +4 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_balance.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_capabilities.py +4 -12
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_client.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_cluster.py +4 -2
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_cluster_disconnect.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_death_timeout.py +4 -4
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_scaling.py +8 -6
- opengris_scaler-1.12.12/scaler/io/utility.py +0 -31
- opengris_scaler-1.12.12/scaler/io/ymq/pymod_ymq/gil.h +0 -15
- opengris_scaler-1.12.12/scaler/io/ymq/readme.md +0 -114
- opengris_scaler-1.12.12/scaler/ui/task_graph.py +0 -370
- opengris_scaler-1.12.12/scaler/ui/task_log.py +0 -83
- opengris_scaler-1.12.12/scaler/ui/utility.py +0 -35
- opengris_scaler-1.12.12/scaler/version.txt +0 -1
- opengris_scaler-1.12.12/tests/cpp/CMakeLists.txt +0 -3
- opengris_scaler-1.12.12/tests/cpp/ymq/CMakeLists.txt +0 -1
- opengris_scaler-1.12.12/tests/cpp/ymq/py_mitm/randomly_drop_packets.py +0 -29
- opengris_scaler-1.12.12/tests/io/ymq/CMakeLists.txt +0 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.clang-format +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/3rd-party-libraries-compile/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/3rd-party-libraries-download/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/3rd-party-libraries-install/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/create-artifacts/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/harden-check/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/publish-doc/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/run-linter/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/run-test/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/actions/setup-env/action.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/dependabot.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/workflows/build-and-test.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/workflows/codeql.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/workflows/dependency-review.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/workflows/publish-artifact.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/workflows/publish-documentation.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.github/workflows/scorecard.yml +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/.gitignore +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/CONTRIBUTING.md +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/LICENSE +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/LICENSE.spdx +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/NOTICE +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/benchmarks/dask_local_test.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/benchmarks/dask_remote_test.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/benchmarks/scaler_test.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/.gitignore +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/Makefile +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/make.bat +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/requirements_docs.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/_static/style.css +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/_templates/layout.html +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/conf.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/index.rst +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/tutorials/configuration.rst +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/docs/source/tutorials/images/architecture.png +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/downloaded/capnproto-c++-1.1.0.tar.gz +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/downloaded_data.csv +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/pillow.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/requirements_applications.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/timeseries.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/disconnect_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/graphtask_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/graphtask_nested_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/images/cat_1.jpg +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/images/cat_2.jpg +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/map_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/nested_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/readme.md +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/send_object_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/simple_client.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/renovate.json +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_cluster.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_object_storage_server.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_scheduler.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_top.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_webui.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_worker_adapter_native.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/run_worker_adapter_symphony.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/about.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/disconnect_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/future_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/object_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/agent/task_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/future.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/object_buffer.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/object_reference.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/serializer/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/serializer/default.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/client/serializer/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/cluster/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/section/top.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/types/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/types/object_storage_server.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/config/types/zmq.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/entry_points/object_storage_server.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/async_connector.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/sync_connector.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/sync_subscriber.py +1 -1
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/_ymq.pyi +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/common.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/epoll_context.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/event_loop.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/event_loop_thread.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/event_manager.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/interruptive_concurrent_queue.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/io_context.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/io_socket.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/iocp_context.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/iocp_context.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/message.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/message_connection.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/network_utils.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/bytes.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/message.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/pymod_ymq/ymq.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/simple_interface.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/simple_interface.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/tcp_client.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/tcp_operations.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/tcp_server.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/tcp_server.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/third_party/concurrentqueue.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/timestamp.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/typedefs.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/io/ymq/utils.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/constants.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/defs.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/io_helper.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/io_helper.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/message.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/message.h +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/object_storage/pymod_object_storage_server.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/capnp/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/capnp/_python.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/capnp/common.capnp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/capnp/status.capnp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/introduction.md +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/python/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/python/common.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/python/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/python/object_storage.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/python/status.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/protocol/worker.md +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/allocate_policy/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/allocate_policy/allocate_policy.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/allocate_policy/even_load_allocate_policy.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/allocate_policy/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/balance_controller.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/client_controller.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/config_controller.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/graph_controller.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/object_controller.py +0 -0
- {opengris_scaler-1.12.12/scaler/scheduler/object_usage → opengris_scaler-1.12.20/scaler/scheduler/controllers/scaling_policies}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/controllers/worker_controller.py +0 -0
- {opengris_scaler-1.12.12/scaler/scheduler/task → opengris_scaler-1.12.20/scaler/scheduler/object_usage}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/object_usage/object_tracker.py +0 -0
- {opengris_scaler-1.12.12/scaler/ui → opengris_scaler-1.12.20/scaler/scheduler/task}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/task/task_state_machine.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/scheduler/task/task_state_manager.py +0 -0
- {opengris_scaler-1.12.12/scaler/utility → opengris_scaler-1.12.20/scaler/ui}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/ui/constants.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/ui/live_display.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/ui/setting_page.py +0 -0
- {opengris_scaler-1.12.12/scaler/utility/graph → opengris_scaler-1.12.20/scaler/utility}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/debug.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/event_list.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/event_loop.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/exceptions.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/formatter.py +0 -0
- {opengris_scaler-1.12.12/scaler/utility/logging → opengris_scaler-1.12.20/scaler/utility/graph}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/graph/optimization.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/graph/topological_sorter.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/graph/topological_sorter_graphblas.py +0 -0
- {opengris_scaler-1.12.12/scaler/utility/metadata → opengris_scaler-1.12.20/scaler/utility/logging}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/logging/decorators.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/logging/scoped_logger.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/logging/utility.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/many_to_many_dict.py +0 -0
- {opengris_scaler-1.12.12/scaler/utility/queues → opengris_scaler-1.12.20/scaler/utility/metadata}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/metadata/profile_result.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/metadata/task_flags.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/mixins.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/network_util.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/one_to_many_dict.py +0 -0
- {opengris_scaler-1.12.12/scaler/worker → opengris_scaler-1.12.20/scaler/utility/queues}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/queues/async_indexed_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/queues/async_priority_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/queues/async_sorted_priority_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/queues/indexed_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/utility/serialization.py +0 -0
- {opengris_scaler-1.12.12/scaler/worker/agent → opengris_scaler-1.12.20/scaler/worker}/__init__.py +0 -0
- {opengris_scaler-1.12.12/scaler/worker/agent/processor → opengris_scaler-1.12.20/scaler/worker/agent}/__init__.py +0 -0
- {opengris_scaler-1.12.12/scaler/worker_adapter → opengris_scaler-1.12.20/scaler/worker/agent/processor}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/processor/object_cache.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/processor/streaming_buffer.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/profiling_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/task_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/agent/timeout_manager.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker/preload.py +0 -0
- {opengris_scaler-1.12.12/scaler/worker_adapter/symphony → opengris_scaler-1.12.20/scaler/worker_adapter}/__init__.py +0 -0
- {opengris_scaler-1.12.12/tests → opengris_scaler-1.12.20/scaler/worker_adapter/symphony}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/symphony/callback.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scaler/worker_adapter/symphony/message.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scripts/build.sh +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scripts/library_tool.ps1 +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scripts/library_tool.sh +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/scripts/test.sh +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/slides/Effortless Distributed Computing in Python - FOSDEM 2025.pdf +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/slides/OSFF 2025 London.pdf +0 -0
- {opengris_scaler-1.12.12/tests/cpp/ymq/py_mitm → opengris_scaler-1.12.20/tests}/__init__.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/object_storage/CMakeLists.txt +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/cpp/object_storage/test_object_manager.cpp +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_async_indexed_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_async_priority_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_async_sorted_priority_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_capability_allocate_policy.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_cluster_config.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_config_types.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_future.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_graph.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_indexed_queue.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_nested_task.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_object_usage.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_profiling.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_protected.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_scheduler_config.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_serializer.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/test_ui.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/tests/utility.py +0 -0
- {opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/version.h.in +0 -0
|
@@ -116,6 +116,18 @@
|
|
|
116
116
|
"lhs": "${hostSystemName}",
|
|
117
117
|
"rhs": "Linux"
|
|
118
118
|
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "windows-x64",
|
|
122
|
+
"configurePreset": "windows-x64",
|
|
123
|
+
"output": {
|
|
124
|
+
"outputOnFailure": true
|
|
125
|
+
},
|
|
126
|
+
"condition": {
|
|
127
|
+
"type": "equals",
|
|
128
|
+
"lhs": "${hostSystemName}",
|
|
129
|
+
"rhs": "Windows"
|
|
130
|
+
}
|
|
119
131
|
}
|
|
120
132
|
]
|
|
121
133
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: opengris-scaler
|
|
3
|
-
Version: 1.12.
|
|
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/
|
|
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.
|
|
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
|
|
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
|
|
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/
|
|
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/
|
|
70
|
+
<img src="https://api.securityscorecards.dev/projects/github.com/finos/opengris-scaler/badge">
|
|
67
71
|
</p>
|
|
68
72
|
</div>
|
|
69
73
|
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
<img src="https://img.shields.io/badge/Documentation-0f1632">
|
|
16
16
|
</a>
|
|
17
17
|
<a href="./LICENSE">
|
|
18
|
-
<img src="https://img.shields.io/github/license/
|
|
18
|
+
<img src="https://img.shields.io/github/license/finos/opengris-scaler?label=license&colorA=0f1632&colorB=255be3">
|
|
19
19
|
</a>
|
|
20
|
-
<a href="https://pypi.org/project/scaler">
|
|
21
|
-
<img alt="PyPI - Version" src="https://img.shields.io/pypi/v/scaler?colorA=0f1632&colorB=255be3">
|
|
20
|
+
<a href="https://pypi.org/project/opengris-scaler">
|
|
21
|
+
<img alt="PyPI - Version" src="https://img.shields.io/pypi/v/opengris-scaler?colorA=0f1632&colorB=255be3">
|
|
22
22
|
</a>
|
|
23
|
-
<img src="https://api.securityscorecards.dev/projects/github.com/
|
|
23
|
+
<img src="https://api.securityscorecards.dev/projects/github.com/finos/opengris-scaler/badge">
|
|
24
24
|
</p>
|
|
25
25
|
</div>
|
|
26
26
|
|
|
@@ -79,26 +79,30 @@ Test Cases
|
|
|
79
79
|
C++ Guidelines
|
|
80
80
|
--------------
|
|
81
81
|
|
|
82
|
-
Naming
|
|
83
|
-
|
|
82
|
+
C++ Naming
|
|
83
|
+
~~~~~~~~~~
|
|
84
84
|
|
|
85
85
|
Please use PascalCase for namespaces and classes. Capitalize the first character, for example:
|
|
86
|
+
|
|
86
87
|
* SomeClass
|
|
87
88
|
* LongNameClass
|
|
88
89
|
|
|
89
|
-
Use all capital letters for global variables or macros. System or third-party library definitions are exempt from this
|
|
90
|
-
|
|
90
|
+
Use all capital letters for global variables or macros. System or third-party library definitions are exempt from this rule:
|
|
91
|
+
|
|
91
92
|
* GLOBAL_VARIABLE
|
|
92
93
|
|
|
93
94
|
Use camelCase for variable and function names, with the first character lower case:
|
|
95
|
+
|
|
94
96
|
* addSomeValue
|
|
95
97
|
* deleteSomeValue
|
|
96
98
|
|
|
97
99
|
Keep abbreviations uppercase, for example:
|
|
100
|
+
|
|
98
101
|
* TCPAcceptor instead of TcpAcceptor
|
|
99
102
|
* IOSocket instead of IoSocket
|
|
100
103
|
|
|
101
104
|
File names should use snake_case. Use the `.h` extension for headers and `.cpp` for source files:
|
|
105
|
+
|
|
102
106
|
* header files: message_connection.h
|
|
103
107
|
* source files: message_connection.cpp
|
|
104
108
|
|
|
@@ -118,12 +122,12 @@ Includes
|
|
|
118
122
|
|
|
119
123
|
* Remove include files when none of their symbols are used.
|
|
120
124
|
* Always include the header that defines the symbols you rely on; avoid depending on transitive includes. For example:
|
|
125
|
+
|
|
121
126
|
* There are files `common.h`, `some_module.h`, and `application.cpp`.
|
|
122
127
|
* At the top of `common.h`, there is `#include <cstring>`.
|
|
123
128
|
* At the top of `some_module.h`, there is `#include "common.h"`.
|
|
124
129
|
* At the top of `application.cpp`, there is `#include "some_module.h"`.
|
|
125
|
-
* Even though `application.cpp` compiles because `<cstring>` is indirectly included through `common.h`, explicitly
|
|
126
|
-
include `<cstring>` in `application.cpp`.
|
|
130
|
+
* Even though `application.cpp` compiles because `<cstring>` is indirectly included through `common.h`, explicitly include `<cstring>` in `application.cpp`.
|
|
127
131
|
|
|
128
132
|
Struct/Class
|
|
129
133
|
~~~~~~~~~~~~
|
|
@@ -58,12 +58,12 @@ Shows how to disconnect a client from scheduler
|
|
|
58
58
|
.. literalinclude:: ../../../examples/disconnect_client.py
|
|
59
59
|
:language: python
|
|
60
60
|
|
|
61
|
-
Capability Allocation
|
|
62
|
-
|
|
61
|
+
Capability Allocation Example
|
|
62
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
63
63
|
|
|
64
64
|
Shows how to use capabilities for task routing
|
|
65
65
|
|
|
66
|
-
.. literalinclude:: ../../../examples/
|
|
66
|
+
.. literalinclude:: ../../../examples/task_capabilities.py
|
|
67
67
|
:language: python
|
|
68
68
|
|
|
69
69
|
Applications
|
|
@@ -154,7 +154,7 @@ Capability Allocation
|
|
|
154
154
|
Scaler provides an *experimental* task routing and capability management, allowing you to specify capability
|
|
155
155
|
requirements for tasks and allocate them to workers supporting these.
|
|
156
156
|
|
|
157
|
-
.. literalinclude:: ../../../examples/
|
|
157
|
+
.. literalinclude:: ../../../examples/task_capabilities.py
|
|
158
158
|
:language: python
|
|
159
159
|
|
|
160
160
|
Client Disconnect and Shutdown
|
|
@@ -128,11 +128,11 @@ Here we use localhost addresses for demonstration, however the scheduler and wor
|
|
|
128
128
|
|
|
129
129
|
.. code:: console
|
|
130
130
|
|
|
131
|
-
[INFO]2025-06-06 13:30:05+0200: logging to ('/dev/stdout',)
|
|
132
|
-
[INFO]2025-06-06 13:30:05+0200: use event loop: builtin
|
|
133
|
-
[INFO]2025-06-06 13:30:05+0200: Scheduler: listen to scheduler address tcp://127.0.0.1:8516
|
|
134
|
-
[INFO]2025-06-06 13:30:05+0200: Scheduler: connect to object storage server tcp://127.0.0.1:8517
|
|
135
|
-
[INFO]2025-06-06 13:30:05+0200: Scheduler: listen to scheduler monitor address tcp://127.0.0.1:8518
|
|
131
|
+
[INFO]2025-06-06 13:30:05+0200: logging to ('/dev/stdout',)
|
|
132
|
+
[INFO]2025-06-06 13:30:05+0200: use event loop: builtin
|
|
133
|
+
[INFO]2025-06-06 13:30:05+0200: Scheduler: listen to scheduler address tcp://127.0.0.1:8516
|
|
134
|
+
[INFO]2025-06-06 13:30:05+0200: Scheduler: connect to object storage server tcp://127.0.0.1:8517
|
|
135
|
+
[INFO]2025-06-06 13:30:05+0200: Scheduler: listen to scheduler monitor address tcp://127.0.0.1:8518
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
.. code:: bash
|
{opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/applications/implied_volatility.py
RENAMED
|
@@ -5,7 +5,7 @@ This program is revised based on
|
|
|
5
5
|
https://stackoverflow.com/questions/61289020/fast-implied-volatility-calculation-in-python
|
|
6
6
|
|
|
7
7
|
Usage:
|
|
8
|
-
$ git clone https://github.com/
|
|
8
|
+
$ git clone https://github.com/finos/opengris-scaler && cd opengris-scaler
|
|
9
9
|
$ pip install -r examples/applications/requirements_applications.txt
|
|
10
10
|
$ python -m examples.applications.implied_volatility
|
|
11
11
|
"""
|
|
@@ -3,7 +3,7 @@ This program gets closing price of a given ticker and start dates. This program
|
|
|
3
3
|
https://stackoverflow.com/a/77342764
|
|
4
4
|
|
|
5
5
|
Usage:
|
|
6
|
-
$ git clone https://github.com/
|
|
6
|
+
$ git clone https://github.com/finos/opengris-scaler && cd opengris-scaler
|
|
7
7
|
$ pip install -r examples/applications/requirements_applications.txt
|
|
8
8
|
$ python -m examples.applications.yfinance_historical_price
|
|
9
9
|
"""
|
{opengris_scaler-1.12.12 → opengris_scaler-1.12.20}/examples/cpp/ymq/automated_echo_client.cpp
RENAMED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
|
-
// C++
|
|
4
|
-
#include <stdio.h>
|
|
5
|
-
|
|
6
2
|
#include <future>
|
|
3
|
+
#include <iostream>
|
|
7
4
|
#include <memory>
|
|
8
5
|
#include <string>
|
|
9
6
|
|
|
@@ -25,7 +22,7 @@ int main()
|
|
|
25
22
|
longStr += "1234567890";
|
|
26
23
|
|
|
27
24
|
auto clientSocket = syncCreateSocket(context, IOSocketType::Connector, "ClientSocket");
|
|
28
|
-
|
|
25
|
+
std::cout << "Successfully created socket.\n";
|
|
29
26
|
|
|
30
27
|
constexpr size_t msgCnt = 100'000;
|
|
31
28
|
|
|
@@ -34,9 +31,8 @@ int main()
|
|
|
34
31
|
std::vector<std::promise<std::pair<Message, Error>>> recvPromises;
|
|
35
32
|
recvPromises.reserve(msgCnt + 10);
|
|
36
33
|
|
|
37
|
-
// syncConnectSocket(clientSocket, "tcp://51.15.214.200:32912");
|
|
38
34
|
syncConnectSocket(clientSocket, "tcp://127.0.0.1:8080");
|
|
39
|
-
|
|
35
|
+
std::cout << "Connected to server.\n";
|
|
40
36
|
|
|
41
37
|
const std::string_view line = longStr;
|
|
42
38
|
|
|
@@ -64,19 +60,19 @@ int main()
|
|
|
64
60
|
auto future = x.get_future();
|
|
65
61
|
future.wait();
|
|
66
62
|
}
|
|
67
|
-
|
|
63
|
+
std::cout << "Send completes.\n";
|
|
68
64
|
|
|
69
65
|
for (auto&& x: recvPromises) {
|
|
70
66
|
auto future = x.get_future();
|
|
71
67
|
Message msg = future.get().first;
|
|
72
68
|
if (msg.payload.as_string() != longStr) {
|
|
73
|
-
|
|
69
|
+
std::cerr << "Checksum failed, " << *msg.payload.as_string() << std::endl;
|
|
74
70
|
exit(1);
|
|
75
71
|
}
|
|
76
72
|
}
|
|
77
|
-
|
|
73
|
+
std::cout << "Recv completes.\n";
|
|
78
74
|
|
|
79
|
-
|
|
75
|
+
std::cout << "Send and recv " << msgCnt << " messages, checksum fits, exiting.\n";
|
|
80
76
|
|
|
81
77
|
context.removeIOSocket(clientSocket);
|
|
82
78
|
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
// C++
|
|
3
|
-
#include <stdio.h>
|
|
4
|
-
|
|
5
2
|
#include <future>
|
|
6
3
|
#include <iostream>
|
|
7
4
|
#include <memory>
|
|
@@ -21,10 +18,10 @@ int main()
|
|
|
21
18
|
IOContext context;
|
|
22
19
|
|
|
23
20
|
auto clientSocket = syncCreateSocket(context, IOSocketType::Connector, "ClientSocket");
|
|
24
|
-
|
|
21
|
+
std::cout << "Successfully created socket.\n";
|
|
25
22
|
|
|
26
23
|
syncConnectSocket(clientSocket, "tcp://127.0.0.1:8080");
|
|
27
|
-
|
|
24
|
+
std::cout << "Connected to server.\n";
|
|
28
25
|
|
|
29
26
|
for (int cnt = 0; cnt < 10; ++cnt) {
|
|
30
27
|
std::string line;
|
|
@@ -48,7 +45,7 @@ int main()
|
|
|
48
45
|
std::move(message), [&send_promise](std::expected<void, Error>) { send_promise.set_value({}); });
|
|
49
46
|
|
|
50
47
|
send_future.wait();
|
|
51
|
-
|
|
48
|
+
std::cout << "Message sent, waiting for response...\n";
|
|
52
49
|
|
|
53
50
|
auto recv_promise = std::promise<std::pair<Message, Error>>();
|
|
54
51
|
auto recv_future = recv_promise.get_future();
|
|
@@ -58,7 +55,7 @@ int main()
|
|
|
58
55
|
|
|
59
56
|
Message reply = recv_future.get().first;
|
|
60
57
|
std::string reply_str(reply.payload.data(), reply.payload.data() + reply.payload.len());
|
|
61
|
-
|
|
58
|
+
std::cout << "Received echo: '" << reply_str << "'.\n";
|
|
62
59
|
}
|
|
63
60
|
|
|
64
61
|
// TODO: remove IOSocket also needs a future
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
#include <stdio.h>
|
|
3
|
-
|
|
4
2
|
#include <future>
|
|
3
|
+
#include <iostream>
|
|
5
4
|
#include <memory>
|
|
6
5
|
|
|
7
6
|
#include "scaler/io/ymq/error.h"
|
|
@@ -16,10 +15,10 @@ int main()
|
|
|
16
15
|
IOContext context;
|
|
17
16
|
|
|
18
17
|
auto socket = syncCreateSocket(context, IOSocketType::Binder, "ServerSocket");
|
|
19
|
-
|
|
18
|
+
std::cout << "Successfully created socket." << std::endl;
|
|
20
19
|
|
|
21
20
|
syncBindSocket(socket, "tcp://127.0.0.1:8080");
|
|
22
|
-
|
|
21
|
+
std::cout << "Successfully bound socket." << std::endl;
|
|
23
22
|
|
|
24
23
|
while (true) {
|
|
25
24
|
auto recv_promise = std::promise<std::pair<Message, Error>>();
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// C++
|
|
4
|
-
#include <stdio.h>
|
|
5
|
-
|
|
6
1
|
#include <chrono>
|
|
7
2
|
#include <future>
|
|
3
|
+
#include <iostream>
|
|
8
4
|
#include <memory>
|
|
9
|
-
#include <print>
|
|
10
5
|
#include <string>
|
|
11
6
|
#include <thread>
|
|
12
7
|
|
|
@@ -23,7 +18,7 @@ using namespace std::chrono_literals;
|
|
|
23
18
|
int main(int argc, char* argv[])
|
|
24
19
|
{
|
|
25
20
|
if (argc != 5) {
|
|
26
|
-
|
|
21
|
+
std::cout << "Usage: " << argv[0] << " <Identity> <MessageSize> <MessageCount> <AddressString>\n";
|
|
27
22
|
exit(1);
|
|
28
23
|
}
|
|
29
24
|
const std::string identity(argv[1]);
|
|
@@ -34,10 +29,10 @@ int main(int argc, char* argv[])
|
|
|
34
29
|
IOContext context;
|
|
35
30
|
|
|
36
31
|
auto clientSocket = syncCreateSocket(context, IOSocketType::Connector, identity);
|
|
37
|
-
|
|
32
|
+
std::cout << "Successfully created socket.\n";
|
|
38
33
|
|
|
39
34
|
syncConnectSocket(clientSocket, address);
|
|
40
|
-
|
|
35
|
+
std::cout << "Connected to server.\n";
|
|
41
36
|
|
|
42
37
|
const std::string_view line = longStr;
|
|
43
38
|
|
|
@@ -62,10 +57,10 @@ int main(int argc, char* argv[])
|
|
|
62
57
|
|
|
63
58
|
time_point<system_clock> end = system_clock::now();
|
|
64
59
|
|
|
65
|
-
|
|
60
|
+
std::cout << "Send and recv " << msgCnt << " messages with " << longStr.size() << " bytes.\n";
|
|
66
61
|
auto milli = duration_cast<milliseconds>(end - start);
|
|
67
|
-
std::
|
|
68
|
-
std::
|
|
62
|
+
std::cout << "Spend " << milli.count() << "ms.\n";
|
|
63
|
+
std::cout << "Throughput " << msgCnt * (longStr.size()) * 1.0 / milli.count() << " Bpms.\n";
|
|
69
64
|
|
|
70
65
|
context.removeIOSocket(clientSocket);
|
|
71
66
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
#include <stdio.h>
|
|
3
|
-
|
|
4
1
|
#include <chrono>
|
|
5
2
|
#include <future>
|
|
3
|
+
#include <iostream>
|
|
6
4
|
#include <memory>
|
|
7
5
|
#include <thread>
|
|
8
6
|
|
|
@@ -18,10 +16,10 @@ int main()
|
|
|
18
16
|
IOContext context;
|
|
19
17
|
|
|
20
18
|
auto socket = syncCreateSocket(context, IOSocketType::Multicast, "ServerSocket");
|
|
21
|
-
|
|
19
|
+
std::cout << "Successfully created socket.\n";
|
|
22
20
|
|
|
23
21
|
syncBindSocket(socket, "tcp://127.0.0.1:8080");
|
|
24
|
-
|
|
22
|
+
std::cout << "Successfully bound socket.\n";
|
|
25
23
|
|
|
26
24
|
while (true) {
|
|
27
25
|
std::string address("");
|
|
@@ -37,7 +35,7 @@ int main()
|
|
|
37
35
|
std::move(publishContent), [&send_promise](std::expected<void, Error>) { send_promise.set_value({}); });
|
|
38
36
|
send_future.wait();
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
std::cout << "One message published, sleep for 10 sec.\n";
|
|
41
39
|
using namespace std::chrono_literals;
|
|
42
40
|
std::this_thread::sleep_for(10s);
|
|
43
41
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#include <
|
|
2
|
-
|
|
1
|
+
#include <iostream>
|
|
3
2
|
#include <memory>
|
|
4
3
|
#include <string>
|
|
5
4
|
|
|
@@ -13,10 +12,10 @@ int main()
|
|
|
13
12
|
{
|
|
14
13
|
IOContext context;
|
|
15
14
|
auto clientSocket = syncCreateSocket(context, IOSocketType::Connector, "ServerSocket");
|
|
16
|
-
|
|
15
|
+
std::cout << "Successfully created socket.\n";
|
|
17
16
|
|
|
18
17
|
syncConnectSocket(clientSocket, "tcp://127.0.0.1:8080");
|
|
19
|
-
|
|
18
|
+
std::cout << "Connected to server.\n";
|
|
20
19
|
|
|
21
20
|
context.removeIOSocket(clientSocket);
|
|
22
21
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
#include <stdio.h>
|
|
2
|
-
|
|
3
1
|
#include <future>
|
|
4
2
|
#include <iostream>
|
|
5
3
|
#include <memory>
|
|
@@ -19,7 +17,7 @@ int main()
|
|
|
19
17
|
IOContext context;
|
|
20
18
|
auto clientSocket1 = syncCreateSocket(context, IOSocketType::Unicast, "ClientSocket1");
|
|
21
19
|
auto clientSocket2 = syncCreateSocket(context, IOSocketType::Unicast, "ClientSocket2");
|
|
22
|
-
|
|
20
|
+
std::cout << "Successfully created sockets.\n";
|
|
23
21
|
|
|
24
22
|
syncConnectSocket(clientSocket1, "tcp://127.0.0.1:8080");
|
|
25
23
|
syncConnectSocket(clientSocket2, "tcp://127.0.0.1:8080");
|
|
@@ -33,7 +31,7 @@ int main()
|
|
|
33
31
|
|
|
34
32
|
Message reply = recv_future.get().first;
|
|
35
33
|
std::string reply_str(reply.payload.data(), reply.payload.data() + reply.payload.len());
|
|
36
|
-
|
|
34
|
+
std::cout << "clientSocket1 Received from publisher: '" << reply_str << "'.\n";
|
|
37
35
|
|
|
38
36
|
auto recv_promise2 = std::promise<std::pair<Message, Error>>();
|
|
39
37
|
auto recv_future2 = recv_promise2.get_future();
|
|
@@ -43,7 +41,7 @@ int main()
|
|
|
43
41
|
|
|
44
42
|
Message reply2 = recv_future2.get().first;
|
|
45
43
|
std::string reply_str2(reply2.payload.data(), reply2.payload.data() + reply2.payload.len());
|
|
46
|
-
|
|
44
|
+
std::cout << "clientSocket2 Received from publisher: '" << reply_str2 << "'.\n";
|
|
47
45
|
}
|
|
48
46
|
|
|
49
47
|
// TODO: remove IOSocket also needs a future
|
|
@@ -11,9 +11,9 @@ int main()
|
|
|
11
11
|
std::cout << ts.timestamp << std::endl;
|
|
12
12
|
Timestamp three_seconds_later_than_ts = ts.createTimestampByOffsetDuration(3s);
|
|
13
13
|
std::cout << three_seconds_later_than_ts.timestamp << std::endl;
|
|
14
|
-
|
|
14
|
+
std::cout << stringifyTimestamp(ts) << std::endl;
|
|
15
15
|
// a timestamp is smaller iff it is closer to the beginning of the world
|
|
16
16
|
if (ts < three_seconds_later_than_ts) {
|
|
17
|
-
|
|
17
|
+
std::cout << "ts happen before than three_seconds_later_than_ts.\n";
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -20,14 +20,15 @@ dynamic = ["version"]
|
|
|
20
20
|
dependencies = [
|
|
21
21
|
"bidict",
|
|
22
22
|
"cloudpickle",
|
|
23
|
-
"psutil==7.1.
|
|
23
|
+
"psutil==7.1.1",
|
|
24
24
|
"pycapnp==2.1.0",
|
|
25
25
|
"pyzmq",
|
|
26
26
|
"sortedcontainers==2.4.0",
|
|
27
27
|
"tblib",
|
|
28
28
|
"aiohttp",
|
|
29
29
|
"graphlib-backport; python_version < '3.9'",
|
|
30
|
-
"typing-extensions>=4.0; python_version < '3.10'"
|
|
30
|
+
"typing-extensions>=4.0; python_version < '3.10'",
|
|
31
|
+
"tomli; python_version < '3.11'",
|
|
31
32
|
]
|
|
32
33
|
|
|
33
34
|
[project.optional-dependencies]
|
|
@@ -36,22 +37,26 @@ uvloop = [
|
|
|
36
37
|
]
|
|
37
38
|
gui = [
|
|
38
39
|
"nicegui[plotly]==2.24.2; python_version == '3.8'",
|
|
39
|
-
"nicegui[plotly]==3.0
|
|
40
|
+
"nicegui[plotly]==3.1.0; python_version >= '3.9'",
|
|
40
41
|
]
|
|
41
42
|
graphblas = [
|
|
42
43
|
"python-graphblas",
|
|
43
44
|
"numpy==1.24.4; python_version == '3.8'",
|
|
44
45
|
"numpy==2.0.2; python_version == '3.9'",
|
|
45
|
-
"numpy==2.2.6; python_version >= '3.10'"
|
|
46
|
+
"numpy==2.2.6; python_version >= '3.10'",
|
|
47
|
+
]
|
|
48
|
+
aws = [
|
|
49
|
+
"boto3",
|
|
46
50
|
]
|
|
47
51
|
all = [
|
|
48
52
|
"nicegui[plotly]==2.24.2; python_version == '3.8'",
|
|
49
|
-
"nicegui[plotly]==3.0
|
|
53
|
+
"nicegui[plotly]==3.1.0; python_version >= '3.9'",
|
|
50
54
|
"python-graphblas",
|
|
51
55
|
"numpy==1.24.4; python_version == '3.8'",
|
|
52
56
|
"numpy==2.0.2; python_version == '3.9'",
|
|
53
57
|
"numpy==2.2.6; python_version >= '3.10'",
|
|
54
58
|
"uvloop; platform_system != 'Windows'",
|
|
59
|
+
"boto3",
|
|
55
60
|
]
|
|
56
61
|
|
|
57
62
|
[dependency-groups]
|
|
@@ -68,7 +73,7 @@ regex = '(?P<value>\d+\.\d+\.\d+(\.[1-9]\d*)?)'
|
|
|
68
73
|
input = "./scaler/version.txt"
|
|
69
74
|
|
|
70
75
|
[project.urls]
|
|
71
|
-
Home = "https://github.com/
|
|
76
|
+
Home = "https://github.com/finos/opengris-scaler"
|
|
72
77
|
|
|
73
78
|
[project.scripts]
|
|
74
79
|
scaler_scheduler = "scaler.entry_points.scheduler:main"
|
|
@@ -78,6 +83,7 @@ scaler_ui = "scaler.entry_points.webui:main"
|
|
|
78
83
|
scaler_object_storage_server = "scaler.entry_points.object_storage_server:main"
|
|
79
84
|
scaler_worker_adapter_native = "scaler.entry_points.worker_adapter_native:main"
|
|
80
85
|
scaler_worker_adapter_symphony = "scaler.entry_points.worker_adapter_symphony:main"
|
|
86
|
+
scaler_worker_adapter_ecs = "scaler.entry_points.worker_adapter_ecs:main"
|
|
81
87
|
|
|
82
88
|
[tool.scikit-build]
|
|
83
89
|
cmake.source-dir = "."
|
|
@@ -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.
|
|
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.
|
|
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
|
|
121
|
+
def get_object_storage_address(self) -> ObjectStorageAddress:
|
|
122
122
|
"""Returns the object storage address, or block until it receives it."""
|
|
123
|
-
return self.
|
|
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.
|
|
198
|
-
self.
|
|
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")
|