@temporalio/core-bridge 1.13.2 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +135 -100
- package/Cargo.toml +3 -2
- package/{sdk-core/fsm/rustfsm_trait/LICENSE.txt → LICENSE} +5 -5
- package/README.md +0 -1
- package/bridge-macros/Cargo.toml +16 -0
- package/bridge-macros/src/derive_js_function.rs +126 -0
- package/bridge-macros/src/derive_tryfromjs.rs +138 -0
- package/bridge-macros/src/derive_tryintojs.rs +151 -0
- package/bridge-macros/src/lib.rs +42 -0
- package/lib/native.d.ts +13 -6
- package/package.json +6 -5
- package/releases/aarch64-apple-darwin/index.node +0 -0
- package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
- package/releases/x86_64-apple-darwin/index.node +0 -0
- package/releases/x86_64-pc-windows-msvc/index.node +0 -0
- package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
- package/sdk-core/.cargo/config.toml +9 -3
- package/sdk-core/.github/workflows/per-pr.yml +42 -5
- package/sdk-core/AGENTS.md +17 -19
- package/sdk-core/Cargo.toml +6 -7
- package/sdk-core/README.md +12 -15
- package/sdk-core/arch_docs/diagrams/deps.svg +102 -0
- package/sdk-core/{client → crates/client}/Cargo.toml +7 -9
- package/sdk-core/{client → crates/client}/src/lib.rs +110 -159
- package/sdk-core/{client → crates/client}/src/metrics.rs +1 -1
- package/sdk-core/{client → crates/client}/src/raw.rs +73 -44
- package/sdk-core/crates/client/src/request_extensions.rs +40 -0
- package/sdk-core/{client → crates/client}/src/retry.rs +24 -17
- package/sdk-core/crates/client/src/worker/mod.rs +1468 -0
- package/sdk-core/{client → crates/client}/src/workflow_handle/mod.rs +4 -4
- package/sdk-core/{core-api → crates/common}/Cargo.toml +17 -8
- package/sdk-core/crates/common/protos/api_cloud_upstream/VERSION +1 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/account/v1/message.proto +18 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/request_response.proto +38 -11
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto +21 -4
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/operation/v1/message.proto +6 -6
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/sink/v1/message.proto +22 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/create-release.yml +5 -0
- package/sdk-core/{core-api → crates/common}/src/envconfig.rs +2 -2
- package/sdk-core/{core-api → crates/common}/src/errors.rs +8 -1
- package/sdk-core/{fsm/rustfsm_trait/src/lib.rs → crates/common/src/fsm_trait.rs} +1 -27
- package/sdk-core/{core-api → crates/common}/src/lib.rs +24 -9
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/canned_histories.rs +1 -1
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/history_builder.rs +1 -1
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/history_info.rs +2 -2
- package/sdk-core/{sdk-core-protos/src/lib.rs → crates/common/src/protos/mod.rs} +18 -17
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/test_utils.rs +1 -1
- package/sdk-core/{core-api → crates/common}/src/telemetry/metrics.rs +447 -50
- package/sdk-core/{core-api → crates/common}/src/telemetry.rs +3 -1
- package/sdk-core/{core-api → crates/common}/src/worker.rs +112 -18
- package/sdk-core/crates/common/tests/worker_task_types_test.rs +129 -0
- package/sdk-core/crates/macros/Cargo.toml +23 -0
- package/sdk-core/{fsm/rustfsm_procmacro → crates/macros}/src/lib.rs +6 -11
- package/sdk-core/{sdk → crates/sdk}/Cargo.toml +10 -10
- package/sdk-core/{sdk → crates/sdk}/src/activity_context.rs +8 -6
- package/sdk-core/{sdk → crates/sdk}/src/interceptors.rs +1 -1
- package/sdk-core/{sdk → crates/sdk}/src/lib.rs +42 -37
- package/sdk-core/{sdk → crates/sdk}/src/workflow_context/options.rs +2 -2
- package/sdk-core/{sdk → crates/sdk}/src/workflow_context.rs +21 -19
- package/sdk-core/{sdk → crates/sdk}/src/workflow_future.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/Cargo.toml +32 -25
- package/sdk-core/{tests → crates/sdk-core/benches}/workflow_replay_bench.rs +10 -10
- package/sdk-core/crates/sdk-core/machine_coverage/ActivityMachine_Coverage.puml +32 -0
- package/sdk-core/crates/sdk-core/machine_coverage/CancelExternalMachine_Coverage.puml +9 -0
- package/sdk-core/crates/sdk-core/machine_coverage/CancelWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/ChildWorkflowMachine_Coverage.puml +27 -0
- package/sdk-core/crates/sdk-core/machine_coverage/CompleteWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/ContinueAsNewWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/FailWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/LocalActivityMachine_Coverage.puml +23 -0
- package/sdk-core/crates/sdk-core/machine_coverage/ModifyWorkflowPropertiesMachine_Coverage.puml +5 -0
- package/sdk-core/crates/sdk-core/machine_coverage/PatchMachine_Coverage.puml +8 -0
- package/sdk-core/crates/sdk-core/machine_coverage/SignalExternalMachine_Coverage.puml +12 -0
- package/sdk-core/crates/sdk-core/machine_coverage/TimerMachine_Coverage.puml +13 -0
- package/sdk-core/crates/sdk-core/machine_coverage/UpdateMachine_Coverage.puml +19 -0
- package/sdk-core/crates/sdk-core/machine_coverage/UpsertSearchAttributesMachine_Coverage.puml +5 -0
- package/sdk-core/crates/sdk-core/machine_coverage/WorkflowTaskMachine_Coverage.puml +11 -0
- package/sdk-core/{core → crates/sdk-core}/src/abstractions.rs +62 -6
- package/sdk-core/crates/sdk-core/src/antithesis.rs +60 -0
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/activity_tasks.rs +36 -31
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/mod.rs +12 -9
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/queries.rs +24 -21
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/replay_flag.rs +10 -8
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/updates.rs +17 -15
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workers.rs +242 -17
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workflow_cancels.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workflow_tasks.rs +126 -39
- package/sdk-core/{core → crates/sdk-core}/src/debug_client.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/ephemeral_server/mod.rs +3 -3
- package/sdk-core/crates/sdk-core/src/histfetch.rs +33 -0
- package/sdk-core/{core → crates/sdk-core}/src/internal_flags.rs +4 -3
- package/sdk-core/{core → crates/sdk-core}/src/lib.rs +85 -43
- package/sdk-core/{core → crates/sdk-core}/src/pollers/mod.rs +8 -6
- package/sdk-core/{core → crates/sdk-core}/src/pollers/poll_buffer.rs +51 -16
- package/sdk-core/{core → crates/sdk-core}/src/protosext/mod.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/protosext/protocol_messages.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/replay/mod.rs +14 -11
- package/sdk-core/{core → crates/sdk-core}/src/retry_logic.rs +19 -1
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/log_export.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/metrics.rs +80 -34
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/mod.rs +4 -4
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/otel.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/prometheus_meter.rs +13 -13
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/prometheus_server.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/test_help/integ_helpers.rs +127 -40
- package/sdk-core/{core → crates/sdk-core}/src/test_help/unit_helpers.rs +13 -11
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities/activity_heartbeat_manager.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities/local_activities.rs +14 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities.rs +21 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/client/mocks.rs +25 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/client.rs +164 -71
- package/sdk-core/crates/sdk-core/src/worker/heartbeat.rs +246 -0
- package/sdk-core/crates/sdk-core/src/worker/mod.rs +1462 -0
- package/sdk-core/{core → crates/sdk-core}/src/worker/nexus.rs +15 -14
- package/sdk-core/{core → crates/sdk-core}/src/worker/slot_provider.rs +12 -13
- package/sdk-core/{core → crates/sdk-core}/src/worker/tuner/fixed_size.rs +5 -1
- package/sdk-core/{core → crates/sdk-core}/src/worker/tuner/resource_based.rs +453 -57
- package/sdk-core/{core → crates/sdk-core}/src/worker/tuner.rs +21 -4
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/driven_workflow.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/history_update.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/activity_state_machine.rs +147 -37
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_external_state_machine.rs +8 -9
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_nexus_op_state_machine.rs +14 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_workflow_state_machine.rs +6 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/child_workflow_state_machine.rs +31 -37
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/complete_workflow_state_machine.rs +13 -8
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +6 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/fail_workflow_state_machine.rs +6 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/local_activity_state_machine.rs +33 -30
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/mod.rs +22 -17
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +4 -3
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/nexus_operation_state_machine.rs +20 -22
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/patch_state_machine.rs +12 -11
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/signal_external_state_machine.rs +9 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/timer_state_machine.rs +26 -13
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/transition_coverage.rs +1 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/update_state_machine.rs +19 -13
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +20 -18
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/workflow_machines/local_acts.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/workflow_machines.rs +61 -70
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/workflow_task_state_machine.rs +13 -15
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/managed_run.rs +55 -37
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/mod.rs +166 -60
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/run_cache.rs +10 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/wft_extraction.rs +4 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/wft_poller.rs +15 -4
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/workflow_stream.rs +30 -16
- package/sdk-core/{tests → crates/sdk-core/tests}/c_bridge_smoke_test.c +1 -1
- package/sdk-core/{tests → crates/sdk-core/tests}/cloud_tests.rs +1 -1
- package/sdk-core/crates/sdk-core/tests/common/fake_grpc_server.rs +106 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/common/http_proxy.rs +1 -1
- package/sdk-core/{tests → crates/sdk-core/tests}/common/mod.rs +93 -74
- package/sdk-core/{tests → crates/sdk-core/tests}/common/workflows.rs +4 -3
- package/sdk-core/crates/sdk-core/tests/fsm_procmacro.rs +6 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/dupe_transitions_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/dupe_transitions_fail.stderr +12 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/dynamic_dest_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/forgot_name_fail.rs +1 -3
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/forgot_name_fail.stderr +4 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/handler_arg_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/handler_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/medium_complex_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/no_handle_conversions_require_into_fail.rs +2 -4
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/no_handle_conversions_require_into_fail.stderr +15 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/simple_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/struct_event_variant_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/struct_event_variant_fail.stderr +5 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/tuple_more_item_event_variant_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/tuple_more_item_event_variant_fail.stderr +5 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/tuple_zero_item_event_variant_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/tuple_zero_item_event_variant_fail.stderr +5 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/global_metric_tests.rs +14 -15
- package/sdk-core/{tests → crates/sdk-core/tests/heavy_tests}/fuzzy_workflow.rs +3 -3
- package/sdk-core/{tests → crates/sdk-core/tests}/heavy_tests.rs +19 -12
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/activity_functions.rs +1 -1
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/client_tests.rs +16 -111
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/ephemeral_server_tests.rs +5 -6
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/heartbeat_tests.rs +23 -19
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/metrics_tests.rs +134 -60
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/pagination_tests.rs +4 -4
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/polling_tests.rs +37 -36
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/queries_tests.rs +12 -10
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/update_tests.rs +41 -29
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/visibility_tests.rs +24 -19
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_heartbeat_tests.rs +1061 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/worker_tests.rs +113 -51
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/worker_versioning_tests.rs +19 -17
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/activities.rs +35 -30
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/appdata_propagation.rs +3 -3
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/cancel_external.rs +14 -9
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/cancel_wf.rs +13 -8
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/child_workflows.rs +48 -35
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/continue_as_new.rs +14 -9
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/determinism.rs +24 -15
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/eager.rs +9 -4
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/local_activities.rs +47 -47
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/modify_wf_properties.rs +16 -11
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/nexus.rs +51 -23
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/patches.rs +22 -10
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/replay.rs +19 -17
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/resets.rs +14 -5
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/signals.rs +24 -15
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/stickyness.rs +8 -6
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/timers.rs +28 -18
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/upsert_search_attrs.rs +18 -13
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests.rs +46 -41
- package/sdk-core/{tests → crates/sdk-core/tests}/main.rs +15 -9
- package/sdk-core/{tests → crates/sdk-core/tests}/manual_tests.rs +20 -14
- package/sdk-core/{tests → crates/sdk-core/tests}/runner.rs +2 -2
- package/sdk-core/{tests → crates/sdk-core/tests}/shared_tests/mod.rs +10 -5
- package/sdk-core/{tests → crates/sdk-core/tests}/shared_tests/priority.rs +5 -5
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/Cargo.toml +13 -10
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/include/temporal-sdk-core-c-bridge.h +32 -23
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/client.rs +55 -32
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/envconfig.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/lib.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/metric.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/runtime.rs +24 -9
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/testing.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/context.rs +11 -10
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/mod.rs +7 -7
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/utils.rs +3 -4
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/worker.rs +111 -58
- package/sdk-core/docker-cgroup-tests.sh +24 -0
- package/sdk-core/{docker → etc/docker}/docker-compose-ci.yaml +9 -9
- package/sdk-core/{docker → etc/docker}/docker-compose-telem.yaml +11 -11
- package/sdk-core/{docker → etc/docker}/docker-compose.yaml +8 -8
- package/sdk-core/{integ-with-otel.sh → etc/integ-with-otel.sh} +1 -1
- package/sdk-core/etc/regen-depgraph.sh +2 -2
- package/src/client.rs +24 -33
- package/src/helpers/try_from_js.rs +1 -1
- package/src/logs.rs +1 -1
- package/src/metrics.rs +3 -3
- package/src/runtime.rs +42 -28
- package/src/testing.rs +3 -3
- package/src/worker.rs +70 -36
- package/ts/native.ts +13 -6
- package/LICENSE.md +0 -23
- package/sdk-core/client/src/worker_registry/mod.rs +0 -282
- package/sdk-core/core/src/worker/heartbeat.rs +0 -230
- package/sdk-core/core/src/worker/mod.rs +0 -990
- package/sdk-core/etc/deps.svg +0 -162
- package/sdk-core/fsm/Cargo.toml +0 -21
- package/sdk-core/fsm/README.md +0 -3
- package/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +0 -27
- package/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +0 -21
- package/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +0 -8
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +0 -12
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +0 -15
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +0 -5
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +0 -5
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +0 -5
- package/sdk-core/fsm/rustfsm_trait/Cargo.toml +0 -14
- package/sdk-core/fsm/src/lib.rs +0 -2
- package/sdk-core/sdk-core-protos/Cargo.toml +0 -37
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/VERSION +0 -1
- /package/sdk-core/{client → crates/client}/src/callback_based.rs +0 -0
- /package/sdk-core/{client → crates/client}/src/proxy.rs +0 -0
- /package/sdk-core/{client → crates/client}/src/replaceable.rs +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/build.rs +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/.github/workflows/build.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/.github/workflows/push-to-buf.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/CODEOWNERS +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/LICENSE +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/Makefile +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/README.md +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/buf.gen.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/buf.lock +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/buf.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/connectivityrule/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/identity/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/namespace/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/nexus/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/region/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/resource/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/usage/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/CODEOWNERS +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/ci.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/publish-docs.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/push-to-buf.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/trigger-api-go-delete-release.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/trigger-api-go-publish-release.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/trigger-api-go-update.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/LICENSE +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/Makefile +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/README.md +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/api-linter.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/buf.gen.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/buf.lock +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/buf.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/api/annotations.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/api/http.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/any.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/descriptor.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/duration.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/empty.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/struct.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/timestamp.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/wrappers.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/openapiv2.json +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/openapiv3.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/payload_description.txt +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/activity/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/batch/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/command/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/common/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/deployment/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/command_type.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/common.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/deployment.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/event_type.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/namespace.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/nexus.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/query.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/reset.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/schedule.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/update.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/workflow.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/errordetails/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/export/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/failure/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/filter/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/history/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/namespace/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/nexus/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/protocol/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/query/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/replication/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/rules/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/schedule/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/enhanced_stack_trace.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/user_metadata.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/worker_config.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/workflow_metadata.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/update/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/version/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/worker/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflow/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/google/rpc/status.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/grpc/health/v1/health.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/activity_result/activity_result.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/activity_task/activity_task.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/common/common.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/core_interface.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/external_data/external_data.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/nexus/nexus.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/Makefile +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/api-linter.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/buf.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +0 -0
- /package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/constants.rs +0 -0
- /package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/task_token.rs +0 -0
- /package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/utilities.rs +0 -0
- /package/sdk-core/{fsm → crates/macros}/LICENSE.txt +0 -0
- /package/sdk-core/{sdk → crates/sdk}/src/app_data.rs +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/abstractions/take_cell.rs +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/test_help/mod.rs +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/worker/slot_supplier.rs +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/ends_empty_wft_complete.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/evict_while_la_running_no_interference-16_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/evict_while_la_running_no_interference-23_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/evict_while_la_running_no_interference-85_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/fail_wf_task.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-0_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-1_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-2_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-3_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/old_change_marker_format.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/timer_workflow_history.bin +0 -0
- /package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/priority.rs +0 -0
- /package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/build.rs +0 -0
- /package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/random.rs +0 -0
- /package/sdk-core/{cargo-tokio-console.sh → etc/cargo-tokio-console.sh} +0 -0
|
@@ -10,24 +10,24 @@ use std::{
|
|
|
10
10
|
sync::Arc,
|
|
11
11
|
time::Duration,
|
|
12
12
|
};
|
|
13
|
-
use
|
|
14
|
-
WorkerConfigBuilder,
|
|
15
|
-
replay::{HistoryForReplay, ReplayWorkerInput},
|
|
16
|
-
};
|
|
17
|
-
use temporal_sdk_core_api::{
|
|
13
|
+
use temporalio_common::{
|
|
18
14
|
Worker as CoreWorker,
|
|
19
15
|
errors::{PollError, WorkflowErrorType},
|
|
16
|
+
protos::{
|
|
17
|
+
coresdk::{
|
|
18
|
+
ActivityHeartbeat, ActivityTaskCompletion, nexus::NexusTaskCompletion,
|
|
19
|
+
workflow_completion::WorkflowActivationCompletion,
|
|
20
|
+
},
|
|
21
|
+
temporal::api::history::v1::History,
|
|
22
|
+
},
|
|
20
23
|
worker::{
|
|
21
24
|
SlotInfoTrait, SlotKind, SlotMarkUsedContext, SlotReleaseContext, SlotReservationContext,
|
|
22
25
|
SlotSupplierPermit,
|
|
23
26
|
},
|
|
24
27
|
};
|
|
25
|
-
use
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
workflow_completion::WorkflowActivationCompletion,
|
|
29
|
-
},
|
|
30
|
-
temporal::api::history::v1::History,
|
|
28
|
+
use temporalio_sdk_core::{
|
|
29
|
+
WorkerConfigBuilder,
|
|
30
|
+
replay::{HistoryForReplay, ReplayWorkerInput},
|
|
31
31
|
};
|
|
32
32
|
use tokio::sync::{
|
|
33
33
|
Notify,
|
|
@@ -43,7 +43,7 @@ pub struct WorkerOptions {
|
|
|
43
43
|
pub identity_override: ByteArrayRef,
|
|
44
44
|
pub max_cached_workflows: u32,
|
|
45
45
|
pub tuner: TunerHolder,
|
|
46
|
-
pub
|
|
46
|
+
pub task_types: WorkerTaskTypes,
|
|
47
47
|
pub sticky_queue_schedule_to_start_timeout_millis: u64,
|
|
48
48
|
pub max_heartbeat_throttle_interval_millis: u64,
|
|
49
49
|
pub default_heartbeat_throttle_interval_millis: u64,
|
|
@@ -56,6 +56,26 @@ pub struct WorkerOptions {
|
|
|
56
56
|
pub nexus_task_poller_behavior: PollerBehavior,
|
|
57
57
|
pub nondeterminism_as_workflow_fail: bool,
|
|
58
58
|
pub nondeterminism_as_workflow_fail_for_types: ByteArrayRefArray,
|
|
59
|
+
pub plugins: ByteArrayRefArray,
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#[repr(C)]
|
|
63
|
+
pub struct WorkerTaskTypes {
|
|
64
|
+
pub enable_workflows: bool,
|
|
65
|
+
pub enable_local_activities: bool,
|
|
66
|
+
pub enable_remote_activities: bool,
|
|
67
|
+
pub enable_nexus: bool,
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
impl From<&WorkerTaskTypes> for temporalio_common::worker::WorkerTaskTypes {
|
|
71
|
+
fn from(t: &WorkerTaskTypes) -> Self {
|
|
72
|
+
Self {
|
|
73
|
+
enable_workflows: t.enable_workflows,
|
|
74
|
+
enable_local_activities: t.enable_local_activities,
|
|
75
|
+
enable_remote_activities: t.enable_remote_activities,
|
|
76
|
+
enable_nexus: t.enable_nexus,
|
|
77
|
+
}
|
|
78
|
+
}
|
|
59
79
|
}
|
|
60
80
|
|
|
61
81
|
#[repr(C)]
|
|
@@ -77,18 +97,18 @@ pub struct PollerBehavior {
|
|
|
77
97
|
pub autoscaling: *const PollerBehaviorAutoscaling,
|
|
78
98
|
}
|
|
79
99
|
|
|
80
|
-
impl TryFrom<&PollerBehavior> for
|
|
100
|
+
impl TryFrom<&PollerBehavior> for temporalio_common::worker::PollerBehavior {
|
|
81
101
|
type Error = anyhow::Error;
|
|
82
102
|
fn try_from(value: &PollerBehavior) -> Result<Self, Self::Error> {
|
|
83
103
|
if !value.simple_maximum.is_null() && !value.autoscaling.is_null() {
|
|
84
104
|
bail!("simple_maximum and autoscaling cannot both be non-null values");
|
|
85
105
|
}
|
|
86
106
|
if let Some(value) = unsafe { value.simple_maximum.as_ref() } {
|
|
87
|
-
return Ok(
|
|
88
|
-
|
|
89
|
-
);
|
|
107
|
+
return Ok(temporalio_common::worker::PollerBehavior::SimpleMaximum(
|
|
108
|
+
value.simple_maximum,
|
|
109
|
+
));
|
|
90
110
|
} else if let Some(value) = unsafe { value.autoscaling.as_ref() } {
|
|
91
|
-
return Ok(
|
|
111
|
+
return Ok(temporalio_common::worker::PollerBehavior::Autoscaling {
|
|
92
112
|
minimum: value.minimum,
|
|
93
113
|
maximum: value.maximum,
|
|
94
114
|
initial: value.initial,
|
|
@@ -217,7 +237,7 @@ pub struct CustomSlotSupplierCallbacks {
|
|
|
217
237
|
/// is arbitrary, but must be unique among live reservations as it's later used for [`mark_used`](Self::mark_used)
|
|
218
238
|
/// and [`release`](Self::release) callbacks.
|
|
219
239
|
pub try_reserve: CustomSlotSupplierTryReserveCallback,
|
|
220
|
-
/// Called after successful reservation to mark slot as used. See [`SlotSupplier`](
|
|
240
|
+
/// Called after successful reservation to mark slot as used. See [`SlotSupplier`](temporalio_common::worker::SlotSupplier)
|
|
221
241
|
/// trait for details.
|
|
222
242
|
pub mark_used: CustomSlotSupplierMarkUsedCallback,
|
|
223
243
|
/// Called to free a previously reserved slot.
|
|
@@ -238,7 +258,7 @@ pub struct CustomSlotSupplierCallbacks {
|
|
|
238
258
|
impl CustomSlotSupplierCallbacksImpl {
|
|
239
259
|
fn into_ss<SK: SlotKind + Send + Sync + 'static>(
|
|
240
260
|
self,
|
|
241
|
-
) -> Arc<dyn
|
|
261
|
+
) -> Arc<dyn temporalio_common::worker::SlotSupplier<SlotKind = SK> + Send + Sync + 'static>
|
|
242
262
|
{
|
|
243
263
|
Arc::new(CustomSlotSupplier {
|
|
244
264
|
inner: self,
|
|
@@ -356,7 +376,7 @@ impl<'a, SK: SlotKind + Send + Sync> Drop for CancelReserveGuard<'a, SK> {
|
|
|
356
376
|
}
|
|
357
377
|
|
|
358
378
|
#[async_trait::async_trait]
|
|
359
|
-
impl<SK: SlotKind + Send + Sync>
|
|
379
|
+
impl<SK: SlotKind + Send + Sync> temporalio_common::worker::SlotSupplier
|
|
360
380
|
for CustomSlotSupplier<SK>
|
|
361
381
|
{
|
|
362
382
|
type SlotKind = SK;
|
|
@@ -447,18 +467,16 @@ impl<SK: SlotKind + Send + Sync> CustomSlotSupplier<SK> {
|
|
|
447
467
|
fn convert_reserve_ctx(ctx: &dyn SlotReservationContext) -> SlotReserveCtx {
|
|
448
468
|
SlotReserveCtx {
|
|
449
469
|
slot_type: match SK::kind() {
|
|
450
|
-
|
|
470
|
+
temporalio_common::worker::SlotKindType::Workflow => {
|
|
451
471
|
SlotKindType::WorkflowSlotKindType
|
|
452
472
|
}
|
|
453
|
-
|
|
473
|
+
temporalio_common::worker::SlotKindType::Activity => {
|
|
454
474
|
SlotKindType::ActivitySlotKindType
|
|
455
475
|
}
|
|
456
|
-
|
|
476
|
+
temporalio_common::worker::SlotKindType::LocalActivity => {
|
|
457
477
|
SlotKindType::LocalActivitySlotKindType
|
|
458
478
|
}
|
|
459
|
-
|
|
460
|
-
SlotKindType::NexusSlotKindType
|
|
461
|
-
}
|
|
479
|
+
temporalio_common::worker::SlotKindType::Nexus => SlotKindType::NexusSlotKindType,
|
|
462
480
|
},
|
|
463
481
|
task_queue: ctx.task_queue().into(),
|
|
464
482
|
worker_identity: ctx.worker_identity().into(),
|
|
@@ -471,21 +489,21 @@ impl<SK: SlotKind + Send + Sync> CustomSlotSupplier<SK> {
|
|
|
471
489
|
}
|
|
472
490
|
}
|
|
473
491
|
|
|
474
|
-
fn convert_slot_info(info:
|
|
492
|
+
fn convert_slot_info(info: temporalio_common::worker::SlotInfo) -> SlotInfo {
|
|
475
493
|
match info {
|
|
476
|
-
|
|
494
|
+
temporalio_common::worker::SlotInfo::Workflow(w) => SlotInfo::WorkflowSlotInfo {
|
|
477
495
|
workflow_type: w.workflow_type.as_str().into(),
|
|
478
496
|
is_sticky: w.is_sticky,
|
|
479
497
|
},
|
|
480
|
-
|
|
498
|
+
temporalio_common::worker::SlotInfo::Activity(a) => SlotInfo::ActivitySlotInfo {
|
|
481
499
|
activity_type: a.activity_type.as_str().into(),
|
|
482
500
|
},
|
|
483
|
-
|
|
501
|
+
temporalio_common::worker::SlotInfo::LocalActivity(a) => {
|
|
484
502
|
SlotInfo::LocalActivitySlotInfo {
|
|
485
503
|
activity_type: a.activity_type.as_str().into(),
|
|
486
504
|
}
|
|
487
505
|
}
|
|
488
|
-
|
|
506
|
+
temporalio_common::worker::SlotInfo::Nexus(n) => SlotInfo::NexusSlotInfo {
|
|
489
507
|
operation: n.operation.as_str().into(),
|
|
490
508
|
service: n.service.as_str().into(),
|
|
491
509
|
},
|
|
@@ -502,7 +520,7 @@ pub struct ResourceBasedTunerOptions {
|
|
|
502
520
|
|
|
503
521
|
#[derive(Clone)]
|
|
504
522
|
pub struct Worker {
|
|
505
|
-
worker: Option<Arc<
|
|
523
|
+
worker: Option<Arc<temporalio_sdk_core::Worker>>,
|
|
506
524
|
runtime: Runtime,
|
|
507
525
|
}
|
|
508
526
|
|
|
@@ -561,7 +579,7 @@ pub extern "C" fn temporal_core_worker_new(
|
|
|
561
579
|
.into_raw()
|
|
562
580
|
.cast_const(),
|
|
563
581
|
),
|
|
564
|
-
Ok(config) => match
|
|
582
|
+
Ok(config) => match temporalio_sdk_core::init_worker(
|
|
565
583
|
&client.runtime.core,
|
|
566
584
|
config,
|
|
567
585
|
client.core.clone().into_inner(),
|
|
@@ -629,11 +647,21 @@ pub extern "C" fn temporal_core_worker_validate(
|
|
|
629
647
|
pub extern "C" fn temporal_core_worker_replace_client(
|
|
630
648
|
worker: *mut Worker,
|
|
631
649
|
new_client: *mut Client,
|
|
632
|
-
) {
|
|
650
|
+
) -> *const ByteArray {
|
|
633
651
|
let worker = unsafe { &*worker };
|
|
652
|
+
enter_sync!(worker.runtime);
|
|
634
653
|
let core_worker = worker.worker.as_ref().expect("missing worker").clone();
|
|
635
654
|
let client = unsafe { &*new_client };
|
|
636
|
-
|
|
655
|
+
|
|
656
|
+
match core_worker.replace_client(client.core.get_client().clone()) {
|
|
657
|
+
Ok(()) => std::ptr::null(),
|
|
658
|
+
Err(err) => worker
|
|
659
|
+
.runtime
|
|
660
|
+
.clone()
|
|
661
|
+
.alloc_utf8(&format!("Replace client failed: {err}"))
|
|
662
|
+
.into_raw()
|
|
663
|
+
.cast_const(),
|
|
664
|
+
}
|
|
637
665
|
}
|
|
638
666
|
|
|
639
667
|
/// If success or fail are present, they must be freed. They will both be null
|
|
@@ -974,7 +1002,7 @@ pub extern "C" fn temporal_core_worker_replayer_new(
|
|
|
974
1002
|
),
|
|
975
1003
|
Ok(config) => {
|
|
976
1004
|
let (tx, rx) = channel(1);
|
|
977
|
-
match
|
|
1005
|
+
match temporalio_sdk_core::init_replay_worker(ReplayWorkerInput::new(
|
|
978
1006
|
config,
|
|
979
1007
|
ReceiverStream::new(rx),
|
|
980
1008
|
)) {
|
|
@@ -1131,18 +1159,18 @@ pub extern "C" fn temporal_core_complete_async_cancel_reserve(
|
|
|
1131
1159
|
}
|
|
1132
1160
|
}
|
|
1133
1161
|
|
|
1134
|
-
impl TryFrom<&WorkerOptions> for
|
|
1162
|
+
impl TryFrom<&WorkerOptions> for temporalio_sdk_core::WorkerConfig {
|
|
1135
1163
|
type Error = anyhow::Error;
|
|
1136
1164
|
|
|
1137
1165
|
fn try_from(opt: &WorkerOptions) -> anyhow::Result<Self> {
|
|
1138
|
-
let converted_tuner:
|
|
1166
|
+
let converted_tuner: temporalio_sdk_core::TunerHolder = (&opt.tuner).try_into()?;
|
|
1139
1167
|
WorkerConfigBuilder::default()
|
|
1140
1168
|
.namespace(opt.namespace.to_str())
|
|
1141
1169
|
.task_queue(opt.task_queue.to_str())
|
|
1142
1170
|
.versioning_strategy({
|
|
1143
1171
|
match &opt.versioning_strategy {
|
|
1144
1172
|
WorkerVersioningStrategy::None(n) => {
|
|
1145
|
-
|
|
1173
|
+
temporalio_common::worker::WorkerVersioningStrategy::None {
|
|
1146
1174
|
build_id: n.build_id.to_string(),
|
|
1147
1175
|
}
|
|
1148
1176
|
}
|
|
@@ -1150,21 +1178,24 @@ impl TryFrom<&WorkerOptions> for temporal_sdk_core::WorkerConfig {
|
|
|
1150
1178
|
let dvb = if let Ok(v) = dopts.default_versioning_behavior.try_into() {
|
|
1151
1179
|
Some(v)
|
|
1152
1180
|
} else {
|
|
1153
|
-
bail!(
|
|
1181
|
+
bail!(
|
|
1182
|
+
"Invalid default versioning behavior {}",
|
|
1183
|
+
dopts.default_versioning_behavior
|
|
1184
|
+
)
|
|
1154
1185
|
};
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
version:
|
|
1186
|
+
temporalio_common::worker::WorkerVersioningStrategy::WorkerDeploymentBased(
|
|
1187
|
+
temporalio_common::worker::WorkerDeploymentOptions {
|
|
1188
|
+
version: temporalio_common::worker::WorkerDeploymentVersion {
|
|
1158
1189
|
deployment_name: dopts.version.deployment_name.to_string(),
|
|
1159
1190
|
build_id: dopts.version.build_id.to_string(),
|
|
1160
1191
|
},
|
|
1161
1192
|
use_worker_versioning: dopts.use_worker_versioning,
|
|
1162
1193
|
default_versioning_behavior: dvb,
|
|
1163
|
-
}
|
|
1194
|
+
},
|
|
1164
1195
|
)
|
|
1165
1196
|
}
|
|
1166
1197
|
WorkerVersioningStrategy::LegacyBuildIdBased(l) => {
|
|
1167
|
-
|
|
1198
|
+
temporalio_common::worker::WorkerVersioningStrategy::LegacyBuildIdBased {
|
|
1168
1199
|
build_id: l.build_id.to_string(),
|
|
1169
1200
|
}
|
|
1170
1201
|
}
|
|
@@ -1173,7 +1204,9 @@ impl TryFrom<&WorkerOptions> for temporal_sdk_core::WorkerConfig {
|
|
|
1173
1204
|
.client_identity_override(opt.identity_override.to_option_string())
|
|
1174
1205
|
.max_cached_workflows(opt.max_cached_workflows as usize)
|
|
1175
1206
|
.tuner(Arc::new(converted_tuner))
|
|
1176
|
-
.
|
|
1207
|
+
.task_types(temporalio_common::worker::WorkerTaskTypes::from(
|
|
1208
|
+
&opt.task_types,
|
|
1209
|
+
))
|
|
1177
1210
|
.sticky_queue_schedule_to_start_timeout(Duration::from_millis(
|
|
1178
1211
|
opt.sticky_queue_schedule_to_start_timeout_millis,
|
|
1179
1212
|
))
|
|
@@ -1199,10 +1232,16 @@ impl TryFrom<&WorkerOptions> for temporal_sdk_core::WorkerConfig {
|
|
|
1199
1232
|
// auto-cancel-activity behavior or shutdown will not occur, so we
|
|
1200
1233
|
// always set it even if 0.
|
|
1201
1234
|
.graceful_shutdown_period(Duration::from_millis(opt.graceful_shutdown_period_millis))
|
|
1202
|
-
.workflow_task_poller_behavior(
|
|
1235
|
+
.workflow_task_poller_behavior(temporalio_common::worker::PollerBehavior::try_from(
|
|
1236
|
+
&opt.workflow_task_poller_behavior,
|
|
1237
|
+
)?)
|
|
1203
1238
|
.nonsticky_to_sticky_poll_ratio(opt.nonsticky_to_sticky_poll_ratio)
|
|
1204
|
-
.activity_task_poller_behavior(
|
|
1205
|
-
|
|
1239
|
+
.activity_task_poller_behavior(temporalio_common::worker::PollerBehavior::try_from(
|
|
1240
|
+
&opt.activity_task_poller_behavior,
|
|
1241
|
+
)?)
|
|
1242
|
+
.nexus_task_poller_behavior(temporalio_common::worker::PollerBehavior::try_from(
|
|
1243
|
+
&opt.nexus_task_poller_behavior,
|
|
1244
|
+
)?)
|
|
1206
1245
|
.workflow_failure_errors(if opt.nondeterminism_as_workflow_fail {
|
|
1207
1246
|
HashSet::from([WorkflowErrorType::Nondeterminism])
|
|
1208
1247
|
} else {
|
|
@@ -1220,12 +1259,26 @@ impl TryFrom<&WorkerOptions> for temporal_sdk_core::WorkerConfig {
|
|
|
1220
1259
|
})
|
|
1221
1260
|
.collect::<HashMap<String, HashSet<WorkflowErrorType>>>(),
|
|
1222
1261
|
)
|
|
1262
|
+
.plugins(
|
|
1263
|
+
opt.plugins
|
|
1264
|
+
.to_str_vec()
|
|
1265
|
+
.into_iter()
|
|
1266
|
+
.collect::<HashSet<_>>()
|
|
1267
|
+
.into_iter()
|
|
1268
|
+
.map(
|
|
1269
|
+
|name| temporalio_common::protos::temporal::api::worker::v1::PluginInfo {
|
|
1270
|
+
name: name.to_owned(),
|
|
1271
|
+
version: String::new(),
|
|
1272
|
+
},
|
|
1273
|
+
)
|
|
1274
|
+
.collect::<HashSet<_>>(),
|
|
1275
|
+
)
|
|
1223
1276
|
.build()
|
|
1224
1277
|
.map_err(|err| anyhow::anyhow!(err))
|
|
1225
1278
|
}
|
|
1226
1279
|
}
|
|
1227
1280
|
|
|
1228
|
-
impl TryFrom<&TunerHolder> for
|
|
1281
|
+
impl TryFrom<&TunerHolder> for temporalio_sdk_core::TunerHolder {
|
|
1229
1282
|
type Error = anyhow::Error;
|
|
1230
1283
|
|
|
1231
1284
|
fn try_from(holder: &TunerHolder) -> anyhow::Result<Self> {
|
|
@@ -1271,10 +1324,10 @@ impl TryFrom<&TunerHolder> for temporal_sdk_core::TunerHolder {
|
|
|
1271
1324
|
bail!("All resource-based slot suppliers must have the same ResourceBasedTunerOptions",);
|
|
1272
1325
|
}
|
|
1273
1326
|
|
|
1274
|
-
let mut options =
|
|
1327
|
+
let mut options = temporalio_sdk_core::TunerHolderOptionsBuilder::default();
|
|
1275
1328
|
if let Some(first) = first {
|
|
1276
1329
|
options.resource_based_options(
|
|
1277
|
-
|
|
1330
|
+
temporalio_sdk_core::ResourceBasedSlotsOptionsBuilder::default()
|
|
1278
1331
|
.target_mem_usage(first.target_memory_usage)
|
|
1279
1332
|
.target_cpu_usage(first.target_cpu_usage)
|
|
1280
1333
|
.build()
|
|
@@ -1294,20 +1347,20 @@ impl TryFrom<&TunerHolder> for temporal_sdk_core::TunerHolder {
|
|
|
1294
1347
|
}
|
|
1295
1348
|
|
|
1296
1349
|
impl<SK: SlotKind + Send + Sync + 'static> TryFrom<SlotSupplier>
|
|
1297
|
-
for
|
|
1350
|
+
for temporalio_sdk_core::SlotSupplierOptions<SK>
|
|
1298
1351
|
{
|
|
1299
1352
|
type Error = anyhow::Error;
|
|
1300
1353
|
|
|
1301
1354
|
fn try_from(
|
|
1302
1355
|
supplier: SlotSupplier,
|
|
1303
|
-
) -> anyhow::Result<
|
|
1356
|
+
) -> anyhow::Result<temporalio_sdk_core::SlotSupplierOptions<SK>> {
|
|
1304
1357
|
Ok(match supplier {
|
|
1305
|
-
SlotSupplier::FixedSize(fs) =>
|
|
1358
|
+
SlotSupplier::FixedSize(fs) => temporalio_sdk_core::SlotSupplierOptions::FixedSize {
|
|
1306
1359
|
slots: fs.num_slots,
|
|
1307
1360
|
},
|
|
1308
1361
|
SlotSupplier::ResourceBased(ss) => {
|
|
1309
|
-
|
|
1310
|
-
|
|
1362
|
+
temporalio_sdk_core::SlotSupplierOptions::ResourceBased(
|
|
1363
|
+
temporalio_sdk_core::ResourceSlotOptions::new(
|
|
1311
1364
|
ss.minimum_slots,
|
|
1312
1365
|
ss.maximum_slots,
|
|
1313
1366
|
Duration::from_millis(ss.ramp_throttle_ms),
|
|
@@ -1315,7 +1368,7 @@ impl<SK: SlotKind + Send + Sync + 'static> TryFrom<SlotSupplier>
|
|
|
1315
1368
|
)
|
|
1316
1369
|
}
|
|
1317
1370
|
SlotSupplier::Custom(cs) => {
|
|
1318
|
-
|
|
1371
|
+
temporalio_sdk_core::SlotSupplierOptions::Custom(cs.into_ss())
|
|
1319
1372
|
}
|
|
1320
1373
|
})
|
|
1321
1374
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Runs tests in a constrained Docker cgroup by cross-compiling them to MUSL with
|
|
4
|
+
# `cargo zigbuild` and executing inside Ubuntu.
|
|
5
|
+
# Requirements:
|
|
6
|
+
# - Zig toolchain: https://ziglang.org/download/
|
|
7
|
+
# - cargo-zigbuild helper: https://github.com/rust-cross/cargo-zigbuild#installation (e.g. `cargo install cargo-zigbuild`)
|
|
8
|
+
|
|
9
|
+
# Usage:
|
|
10
|
+
# ./docker-cgroup-tests.sh [cpus] [memory]
|
|
11
|
+
# Defaults:
|
|
12
|
+
# cpus = 0.1 (limit available CPU cores)
|
|
13
|
+
# memory = 256m (limit available RAM)
|
|
14
|
+
|
|
15
|
+
# cross-compiles integration tests with cargo zigbuild, then runs them using docker
|
|
16
|
+
executable_path=$(cargo zigbuild --target x86_64-unknown-linux-musl --tests --features="test-utilities ephemeral-server" --message-format=json | jq -r 'select(.profile?.test == true and .target?.name == "temporalio_sdk_core" and .executable) | .executable')
|
|
17
|
+
relative_path="target/${executable_path#*target/}"
|
|
18
|
+
|
|
19
|
+
cpus="${1:-0.1}"
|
|
20
|
+
memory="${2:-256m}"
|
|
21
|
+
|
|
22
|
+
printf 'Running with cpus=%s memory=%s\n' "$cpus" "$memory"
|
|
23
|
+
|
|
24
|
+
docker run --rm -v "$PWD":/app -w /app --cpus="$cpus" --memory="$memory" --env CGROUP_TESTS_ENABLED=true ubuntu bash -c "./$relative_path cgroup_ --nocapture"
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
version:
|
|
1
|
+
version: "3.5"
|
|
2
2
|
|
|
3
3
|
services:
|
|
4
4
|
otel-collector:
|
|
5
5
|
image: otel/opentelemetry-collector:latest
|
|
6
|
-
command: [
|
|
6
|
+
command: ["--config=/etc/otel-collector-ci.yaml"]
|
|
7
7
|
volumes:
|
|
8
|
-
- ../
|
|
8
|
+
- ../otel-collector-ci.yaml:/etc/otel-collector-ci.yaml
|
|
9
9
|
ports:
|
|
10
10
|
# - "1888:1888" # pprof extension
|
|
11
11
|
# It's useful to be able to manually inspect metrics during dev
|
|
12
|
-
-
|
|
13
|
-
-
|
|
12
|
+
- "8888:8888" # Prometheus metrics exposed by the collector
|
|
13
|
+
- "8889:8889" # Prometheus exporter metrics
|
|
14
14
|
# - "13133:13133" # health_check extension
|
|
15
|
-
-
|
|
16
|
-
-
|
|
15
|
+
- "4317:4317" # OTLP gRPC receiver
|
|
16
|
+
- "4318:4318" # OTLP HTTP receiver
|
|
17
17
|
# - "55679:55679" # zpages extension
|
|
18
18
|
|
|
19
19
|
prometheus:
|
|
20
20
|
container_name: prometheus
|
|
21
21
|
image: prom/prometheus:latest
|
|
22
22
|
volumes:
|
|
23
|
-
- ../
|
|
23
|
+
- ../prometheus.yaml:/etc/prometheus/prometheus.yml
|
|
24
24
|
ports:
|
|
25
|
-
-
|
|
25
|
+
- "9090:9090"
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
version:
|
|
1
|
+
version: "3.5"
|
|
2
2
|
|
|
3
3
|
services:
|
|
4
4
|
jaeger:
|
|
5
5
|
image: jaegertracing/all-in-one:latest
|
|
6
6
|
ports:
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
7
|
+
- "16686:16686"
|
|
8
|
+
- "14268"
|
|
9
|
+
- "14250"
|
|
10
10
|
|
|
11
11
|
otel-collector:
|
|
12
12
|
image: otel/opentelemetry-collector:latest
|
|
13
|
-
command: [
|
|
13
|
+
command: ["--config=/etc/otel-collector-config.yaml"]
|
|
14
14
|
volumes:
|
|
15
|
-
- ../
|
|
15
|
+
- ../otel-collector-config.yaml:/etc/otel-collector-config.yaml
|
|
16
16
|
ports:
|
|
17
17
|
# - "1888:1888" # pprof extension
|
|
18
18
|
# It's useful to be able to manually inspect metrics during dev
|
|
19
|
-
-
|
|
20
|
-
-
|
|
19
|
+
- "8888:8888" # Prometheus metrics exposed by the collector
|
|
20
|
+
- "8889:8889" # Prometheus exporter metrics
|
|
21
21
|
# - "13133:13133" # health_check extension
|
|
22
|
-
-
|
|
22
|
+
- "4317:4317" # OTLP gRPC receiver
|
|
23
23
|
# - "55679:55679" # zpages extension
|
|
24
24
|
depends_on:
|
|
25
25
|
- jaeger
|
|
@@ -29,6 +29,6 @@ services:
|
|
|
29
29
|
container_name: prometheus
|
|
30
30
|
image: prom/prometheus:latest
|
|
31
31
|
volumes:
|
|
32
|
-
- ../
|
|
32
|
+
- ../prometheus.yaml:/etc/prometheus/prometheus.yml
|
|
33
33
|
ports:
|
|
34
|
-
-
|
|
34
|
+
- "9090:9090"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
version:
|
|
1
|
+
version: "3.5"
|
|
2
2
|
|
|
3
3
|
services:
|
|
4
4
|
cassandra:
|
|
@@ -13,17 +13,17 @@ services:
|
|
|
13
13
|
ports:
|
|
14
14
|
- "7233:7233"
|
|
15
15
|
- "7234:7234"
|
|
16
|
-
# - "7235:7235"
|
|
17
|
-
# - "7239:7239"
|
|
18
|
-
# - "6933:6933"
|
|
19
|
-
# - "6934:6934"
|
|
20
|
-
# - "6935:6935"
|
|
21
|
-
# - "6939:6939"
|
|
16
|
+
# - "7235:7235"
|
|
17
|
+
# - "7239:7239"
|
|
18
|
+
# - "6933:6933"
|
|
19
|
+
# - "6934:6934"
|
|
20
|
+
# - "6935:6935"
|
|
21
|
+
# - "6939:6939"
|
|
22
22
|
environment:
|
|
23
23
|
- "CASSANDRA_SEEDS=cassandra"
|
|
24
24
|
- "DYNAMIC_CONFIG_FILE_PATH=/etc/dynamic-config.yaml"
|
|
25
25
|
volumes:
|
|
26
|
-
-
|
|
26
|
+
- ../dynamic-config.yaml:/etc/dynamic-config.yaml
|
|
27
27
|
depends_on:
|
|
28
28
|
- cassandra
|
|
29
29
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Run this from the repo root
|
|
2
2
|
cargo depgraph \
|
|
3
|
-
--focus
|
|
3
|
+
--focus temporalio-sdk,temporalio-common,temporalio-client,temporalio-sdk-core,temporalio-macros,temporalio-sdk-core-c-bridge \
|
|
4
4
|
--dev-deps \
|
|
5
|
-
| dot -Tsvg >
|
|
5
|
+
| dot -Tsvg > arch_docs/diagrams/deps.svg
|