temporalio 0.1.1 → 0.3.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.
- checksums.yaml +4 -4
- data/.yardopts +2 -0
- data/Cargo.lock +4324 -0
- data/Cargo.toml +25 -0
- data/Gemfile +20 -0
- data/LICENSE +16 -15
- data/README.md +985 -183
- data/Rakefile +101 -0
- data/ext/Cargo.toml +26 -0
- data/lib/temporalio/activity/complete_async_error.rb +11 -0
- data/lib/temporalio/activity/context.rb +86 -78
- data/lib/temporalio/activity/definition.rb +175 -0
- data/lib/temporalio/activity/info.rb +44 -47
- data/lib/temporalio/activity.rb +8 -81
- data/lib/temporalio/api/activity/v1/message.rb +25 -0
- data/lib/temporalio/api/batch/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/account/v1/message.rb +28 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +126 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +25 -0
- data/lib/temporalio/api/cloud/cloudservice.rb +3 -0
- data/lib/temporalio/api/cloud/identity/v1/message.rb +41 -0
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +42 -0
- data/lib/temporalio/api/cloud/nexus/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/operation/v1/message.rb +28 -0
- data/lib/temporalio/api/cloud/region/v1/message.rb +24 -0
- data/lib/temporalio/api/cloud/resource/v1/message.rb +23 -0
- data/lib/temporalio/api/cloud/sink/v1/message.rb +24 -0
- data/lib/temporalio/api/cloud/usage/v1/message.rb +31 -0
- data/lib/temporalio/api/command/v1/message.rb +46 -0
- data/lib/temporalio/api/common/v1/grpc_status.rb +23 -0
- data/lib/temporalio/api/common/v1/message.rb +47 -0
- data/lib/temporalio/api/enums/v1/batch_operation.rb +22 -0
- data/lib/temporalio/api/enums/v1/command_type.rb +21 -0
- data/lib/temporalio/api/enums/v1/common.rb +26 -0
- data/lib/temporalio/api/enums/v1/event_type.rb +21 -0
- data/lib/temporalio/api/enums/v1/failed_cause.rb +26 -0
- data/lib/temporalio/api/enums/v1/namespace.rb +23 -0
- data/lib/temporalio/api/enums/v1/query.rb +22 -0
- data/lib/temporalio/api/enums/v1/reset.rb +23 -0
- data/lib/temporalio/api/enums/v1/schedule.rb +21 -0
- data/lib/temporalio/api/enums/v1/task_queue.rb +25 -0
- data/lib/temporalio/api/enums/v1/update.rb +22 -0
- data/lib/temporalio/api/enums/v1/workflow.rb +30 -0
- data/lib/temporalio/api/errordetails/v1/message.rb +42 -0
- data/lib/temporalio/api/export/v1/message.rb +24 -0
- data/lib/temporalio/api/failure/v1/message.rb +35 -0
- data/lib/temporalio/api/filter/v1/message.rb +27 -0
- data/lib/temporalio/api/history/v1/message.rb +90 -0
- data/lib/temporalio/api/namespace/v1/message.rb +31 -0
- data/lib/temporalio/api/nexus/v1/message.rb +40 -0
- data/lib/temporalio/api/operatorservice/v1/request_response.rb +49 -0
- data/lib/temporalio/api/operatorservice/v1/service.rb +23 -0
- data/lib/temporalio/api/operatorservice.rb +3 -0
- data/lib/temporalio/api/payload_visitor.rb +1513 -0
- data/lib/temporalio/api/protocol/v1/message.rb +23 -0
- data/lib/temporalio/api/query/v1/message.rb +27 -0
- data/lib/temporalio/api/replication/v1/message.rb +26 -0
- data/lib/temporalio/api/schedule/v1/message.rb +43 -0
- data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +25 -0
- data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +21 -0
- data/lib/temporalio/api/sdk/v1/user_metadata.rb +23 -0
- data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +23 -0
- data/lib/temporalio/api/taskqueue/v1/message.rb +45 -0
- data/lib/{gen/temporal/api/testservice/v1/request_response_pb.rb → temporalio/api/testservice/v1/request_response.rb} +6 -24
- data/lib/temporalio/api/testservice/v1/service.rb +23 -0
- data/lib/temporalio/api/update/v1/message.rb +33 -0
- data/lib/temporalio/api/version/v1/message.rb +26 -0
- data/lib/temporalio/api/workflow/v1/message.rb +43 -0
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +204 -0
- data/lib/temporalio/api/workflowservice/v1/service.rb +23 -0
- data/lib/temporalio/api/workflowservice.rb +3 -0
- data/lib/temporalio/api.rb +14 -0
- data/lib/temporalio/cancellation.rb +170 -0
- data/lib/temporalio/client/activity_id_reference.rb +32 -0
- data/lib/temporalio/client/async_activity_handle.rb +85 -0
- data/lib/temporalio/client/connection/cloud_service.rb +726 -0
- data/lib/temporalio/client/connection/operator_service.rb +201 -0
- data/lib/temporalio/client/connection/service.rb +42 -0
- data/lib/temporalio/client/connection/test_service.rb +111 -0
- data/lib/temporalio/client/connection/workflow_service.rb +1041 -0
- data/lib/temporalio/client/connection.rb +316 -0
- data/lib/temporalio/client/interceptor.rb +416 -0
- data/lib/temporalio/client/schedule.rb +967 -0
- data/lib/temporalio/client/schedule_handle.rb +126 -0
- data/lib/temporalio/client/workflow_execution.rb +100 -0
- data/lib/temporalio/client/workflow_execution_count.rb +36 -0
- data/lib/temporalio/client/workflow_execution_status.rb +18 -0
- data/lib/temporalio/client/workflow_handle.rb +326 -180
- data/lib/temporalio/client/workflow_query_reject_condition.rb +14 -0
- data/lib/temporalio/client/workflow_update_handle.rb +65 -0
- data/lib/temporalio/client/workflow_update_wait_stage.rb +17 -0
- data/lib/temporalio/client.rb +447 -94
- data/lib/temporalio/common_enums.rb +41 -0
- data/lib/temporalio/converters/data_converter.rb +99 -0
- data/lib/temporalio/converters/failure_converter.rb +202 -0
- data/lib/temporalio/converters/payload_codec.rb +26 -0
- data/lib/temporalio/converters/payload_converter/binary_null.rb +34 -0
- data/lib/temporalio/converters/payload_converter/binary_plain.rb +35 -0
- data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +42 -0
- data/lib/temporalio/converters/payload_converter/composite.rb +66 -0
- data/lib/temporalio/converters/payload_converter/encoding.rb +35 -0
- data/lib/temporalio/converters/payload_converter/json_plain.rb +44 -0
- data/lib/temporalio/converters/payload_converter/json_protobuf.rb +41 -0
- data/lib/temporalio/converters/payload_converter.rb +71 -0
- data/lib/temporalio/converters/raw_value.rb +20 -0
- data/lib/temporalio/converters.rb +9 -0
- data/lib/temporalio/error/failure.rb +119 -94
- data/lib/temporalio/error.rb +155 -0
- data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +34 -0
- data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +31 -0
- data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +33 -0
- data/lib/temporalio/internal/bridge/api/common/common.rb +26 -0
- data/lib/temporalio/internal/bridge/api/core_interface.rb +40 -0
- data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +27 -0
- data/lib/temporalio/internal/bridge/api/nexus/nexus.rb +33 -0
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +56 -0
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +57 -0
- data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +30 -0
- data/lib/temporalio/internal/bridge/api.rb +3 -0
- data/lib/temporalio/internal/bridge/client.rb +95 -0
- data/lib/temporalio/internal/bridge/runtime.rb +53 -0
- data/lib/temporalio/internal/bridge/testing.rb +66 -0
- data/lib/temporalio/internal/bridge/worker.rb +85 -0
- data/lib/temporalio/internal/bridge.rb +36 -0
- data/lib/temporalio/internal/client/implementation.rb +700 -0
- data/lib/temporalio/internal/metric.rb +122 -0
- data/lib/temporalio/internal/proto_utils.rb +133 -0
- data/lib/temporalio/internal/worker/activity_worker.rb +373 -0
- data/lib/temporalio/internal/worker/multi_runner.rb +213 -0
- data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +54 -0
- data/lib/temporalio/internal/worker/workflow_instance/context.rb +329 -0
- data/lib/temporalio/internal/worker/workflow_instance/details.rb +44 -0
- data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +32 -0
- data/lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb +22 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_execution.rb +25 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_hash.rb +41 -0
- data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +97 -0
- data/lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb +62 -0
- data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +415 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb +37 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb +40 -0
- data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +163 -0
- data/lib/temporalio/internal/worker/workflow_instance.rb +730 -0
- data/lib/temporalio/internal/worker/workflow_worker.rb +196 -0
- data/lib/temporalio/internal.rb +7 -0
- data/lib/temporalio/metric.rb +109 -0
- data/lib/temporalio/retry_policy.rb +55 -73
- data/lib/temporalio/runtime.rb +302 -13
- data/lib/temporalio/scoped_logger.rb +96 -0
- data/lib/temporalio/search_attributes.rb +343 -0
- data/lib/temporalio/testing/activity_environment.rb +132 -0
- data/lib/temporalio/testing/workflow_environment.rb +345 -74
- data/lib/temporalio/testing.rb +4 -169
- data/lib/temporalio/version.rb +3 -1
- data/lib/temporalio/worker/activity_executor/fiber.rb +49 -0
- data/lib/temporalio/worker/activity_executor/thread_pool.rb +46 -0
- data/lib/temporalio/worker/activity_executor.rb +55 -0
- data/lib/temporalio/worker/interceptor.rb +362 -0
- data/lib/temporalio/worker/thread_pool.rb +237 -0
- data/lib/temporalio/worker/tuner.rb +151 -0
- data/lib/temporalio/worker/workflow_executor/thread_pool.rb +230 -0
- data/lib/temporalio/worker/workflow_executor.rb +26 -0
- data/lib/temporalio/worker.rb +554 -161
- data/lib/temporalio/workflow/activity_cancellation_type.rb +20 -0
- data/lib/temporalio/workflow/child_workflow_cancellation_type.rb +21 -0
- data/lib/temporalio/workflow/child_workflow_handle.rb +43 -0
- data/lib/temporalio/workflow/definition.rb +566 -0
- data/lib/temporalio/workflow/external_workflow_handle.rb +41 -0
- data/lib/temporalio/workflow/future.rb +117 -104
- data/lib/temporalio/workflow/handler_unfinished_policy.rb +13 -0
- data/lib/temporalio/workflow/info.rb +63 -57
- data/lib/temporalio/workflow/parent_close_policy.rb +19 -0
- data/lib/temporalio/workflow/update_info.rb +20 -0
- data/lib/temporalio/workflow.rb +523 -0
- data/lib/temporalio/workflow_history.rb +22 -0
- data/lib/temporalio.rb +6 -7
- data/temporalio.gemspec +20 -39
- metadata +171 -710
- data/bridge/Cargo.lock +0 -2997
- data/bridge/Cargo.toml +0 -29
- data/bridge/sdk-core/ARCHITECTURE.md +0 -76
- data/bridge/sdk-core/Cargo.toml +0 -2
- data/bridge/sdk-core/LICENSE.txt +0 -23
- data/bridge/sdk-core/README.md +0 -117
- data/bridge/sdk-core/arch_docs/diagrams/README.md +0 -10
- data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +0 -40
- data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +0 -1
- data/bridge/sdk-core/arch_docs/sticky_queues.md +0 -51
- data/bridge/sdk-core/client/Cargo.toml +0 -40
- data/bridge/sdk-core/client/LICENSE.txt +0 -23
- data/bridge/sdk-core/client/src/lib.rs +0 -1462
- data/bridge/sdk-core/client/src/metrics.rs +0 -174
- data/bridge/sdk-core/client/src/raw.rs +0 -932
- data/bridge/sdk-core/client/src/retry.rs +0 -763
- data/bridge/sdk-core/client/src/workflow_handle/mod.rs +0 -185
- data/bridge/sdk-core/core/Cargo.toml +0 -129
- data/bridge/sdk-core/core/LICENSE.txt +0 -23
- data/bridge/sdk-core/core/benches/workflow_replay.rs +0 -76
- data/bridge/sdk-core/core/src/abstractions.rs +0 -355
- data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +0 -1049
- data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +0 -221
- data/bridge/sdk-core/core/src/core_tests/determinism.rs +0 -270
- data/bridge/sdk-core/core/src/core_tests/local_activities.rs +0 -1046
- data/bridge/sdk-core/core/src/core_tests/mod.rs +0 -100
- data/bridge/sdk-core/core/src/core_tests/queries.rs +0 -893
- data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +0 -65
- data/bridge/sdk-core/core/src/core_tests/workers.rs +0 -257
- data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +0 -124
- data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +0 -2433
- data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +0 -609
- data/bridge/sdk-core/core/src/internal_flags.rs +0 -136
- data/bridge/sdk-core/core/src/lib.rs +0 -289
- data/bridge/sdk-core/core/src/pollers/mod.rs +0 -54
- data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +0 -297
- data/bridge/sdk-core/core/src/protosext/mod.rs +0 -428
- data/bridge/sdk-core/core/src/replay/mod.rs +0 -215
- data/bridge/sdk-core/core/src/retry_logic.rs +0 -202
- data/bridge/sdk-core/core/src/telemetry/log_export.rs +0 -190
- data/bridge/sdk-core/core/src/telemetry/metrics.rs +0 -462
- data/bridge/sdk-core/core/src/telemetry/mod.rs +0 -423
- data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +0 -83
- data/bridge/sdk-core/core/src/test_help/mod.rs +0 -939
- data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +0 -536
- data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +0 -89
- data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +0 -1278
- data/bridge/sdk-core/core/src/worker/activities.rs +0 -557
- data/bridge/sdk-core/core/src/worker/client/mocks.rs +0 -107
- data/bridge/sdk-core/core/src/worker/client.rs +0 -389
- data/bridge/sdk-core/core/src/worker/mod.rs +0 -677
- data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +0 -35
- data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +0 -99
- data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +0 -1111
- data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +0 -964
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +0 -294
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +0 -168
- data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +0 -918
- data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +0 -137
- data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +0 -158
- data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +0 -130
- data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +0 -1525
- data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +0 -324
- data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +0 -179
- data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +0 -659
- data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +0 -439
- data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +0 -435
- data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +0 -175
- data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +0 -249
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +0 -85
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +0 -1280
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +0 -269
- data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +0 -213
- data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +0 -1305
- data/bridge/sdk-core/core/src/worker/workflow/mod.rs +0 -1276
- data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +0 -128
- data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +0 -125
- data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +0 -85
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +0 -117
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +0 -24
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +0 -715
- data/bridge/sdk-core/core-api/Cargo.toml +0 -33
- data/bridge/sdk-core/core-api/LICENSE.txt +0 -23
- data/bridge/sdk-core/core-api/src/errors.rs +0 -62
- data/bridge/sdk-core/core-api/src/lib.rs +0 -113
- data/bridge/sdk-core/core-api/src/telemetry.rs +0 -141
- data/bridge/sdk-core/core-api/src/worker.rs +0 -161
- data/bridge/sdk-core/etc/deps.svg +0 -162
- data/bridge/sdk-core/etc/dynamic-config.yaml +0 -2
- data/bridge/sdk-core/etc/otel-collector-config.yaml +0 -36
- data/bridge/sdk-core/etc/prometheus.yaml +0 -6
- data/bridge/sdk-core/etc/regen-depgraph.sh +0 -5
- data/bridge/sdk-core/fsm/Cargo.toml +0 -18
- data/bridge/sdk-core/fsm/LICENSE.txt +0 -23
- data/bridge/sdk-core/fsm/README.md +0 -3
- data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +0 -27
- data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +0 -23
- data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +0 -650
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +0 -8
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +0 -18
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +0 -12
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +0 -41
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +0 -14
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +0 -11
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +0 -32
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +0 -31
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +0 -46
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +0 -29
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +0 -12
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +0 -32
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +0 -18
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +0 -5
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +0 -11
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +0 -5
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +0 -11
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +0 -5
- data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +0 -14
- data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +0 -23
- data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +0 -254
- data/bridge/sdk-core/fsm/src/lib.rs +0 -2
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin +0 -0
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin +0 -0
- data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
- data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
- data/bridge/sdk-core/integ-with-otel.sh +0 -7
- data/bridge/sdk-core/protos/api_upstream/README.md +0 -9
- data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +0 -40
- data/bridge/sdk-core/protos/api_upstream/buf.yaml +0 -9
- data/bridge/sdk-core/protos/api_upstream/build/go.mod +0 -7
- data/bridge/sdk-core/protos/api_upstream/build/go.sum +0 -5
- data/bridge/sdk-core/protos/api_upstream/build/tools.go +0 -29
- data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +0 -141
- data/bridge/sdk-core/protos/api_upstream/go.mod +0 -6
- data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +0 -89
- data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +0 -248
- data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +0 -123
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +0 -47
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +0 -52
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +0 -56
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +0 -170
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +0 -123
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +0 -51
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +0 -50
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +0 -41
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +0 -60
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +0 -59
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +0 -56
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +0 -122
- data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +0 -108
- data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +0 -114
- data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +0 -56
- data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +0 -787
- data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +0 -99
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +0 -124
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +0 -80
- data/bridge/sdk-core/protos/api_upstream/temporal/api/protocol/v1/message.proto +0 -57
- data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +0 -61
- data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +0 -55
- data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +0 -379
- data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +0 -63
- data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +0 -108
- data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +0 -111
- data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +0 -59
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +0 -146
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +0 -1199
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +0 -415
- data/bridge/sdk-core/protos/grpc/health/v1/health.proto +0 -63
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +0 -79
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +0 -80
- data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +0 -78
- data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +0 -16
- data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +0 -31
- data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +0 -31
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +0 -270
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +0 -305
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +0 -35
- data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +0 -38
- data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +0 -13
- data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +0 -141
- data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +0 -63
- data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +0 -90
- data/bridge/sdk-core/rustfmt.toml +0 -1
- data/bridge/sdk-core/sdk/Cargo.toml +0 -48
- data/bridge/sdk-core/sdk/LICENSE.txt +0 -23
- data/bridge/sdk-core/sdk/src/activity_context.rs +0 -230
- data/bridge/sdk-core/sdk/src/app_data.rs +0 -37
- data/bridge/sdk-core/sdk/src/interceptors.rs +0 -50
- data/bridge/sdk-core/sdk/src/lib.rs +0 -861
- data/bridge/sdk-core/sdk/src/payload_converter.rs +0 -11
- data/bridge/sdk-core/sdk/src/workflow_context/options.rs +0 -295
- data/bridge/sdk-core/sdk/src/workflow_context.rs +0 -694
- data/bridge/sdk-core/sdk/src/workflow_future.rs +0 -500
- data/bridge/sdk-core/sdk-core-protos/Cargo.toml +0 -33
- data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +0 -23
- data/bridge/sdk-core/sdk-core-protos/build.rs +0 -142
- data/bridge/sdk-core/sdk-core-protos/src/constants.rs +0 -7
- data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +0 -557
- data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +0 -234
- data/bridge/sdk-core/sdk-core-protos/src/lib.rs +0 -2088
- data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +0 -48
- data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +0 -14
- data/bridge/sdk-core/test-utils/Cargo.toml +0 -38
- data/bridge/sdk-core/test-utils/src/canned_histories.rs +0 -1389
- data/bridge/sdk-core/test-utils/src/histfetch.rs +0 -28
- data/bridge/sdk-core/test-utils/src/lib.rs +0 -709
- data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +0 -50
- data/bridge/sdk-core/test-utils/src/workflows.rs +0 -29
- data/bridge/sdk-core/tests/fuzzy_workflow.rs +0 -130
- data/bridge/sdk-core/tests/heavy_tests.rs +0 -265
- data/bridge/sdk-core/tests/integ_tests/client_tests.rs +0 -36
- data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +0 -150
- data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +0 -223
- data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +0 -239
- data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +0 -90
- data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +0 -314
- data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +0 -151
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +0 -902
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +0 -61
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +0 -60
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +0 -51
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +0 -51
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +0 -64
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +0 -47
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +0 -669
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +0 -54
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +0 -92
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +0 -228
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +0 -94
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +0 -171
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +0 -85
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +0 -120
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +0 -77
- data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +0 -596
- data/bridge/sdk-core/tests/main.rs +0 -103
- data/bridge/sdk-core/tests/runner.rs +0 -132
- data/bridge/sdk-core/tests/wf_input_replay.rs +0 -32
- data/bridge/src/connection.rs +0 -202
- data/bridge/src/lib.rs +0 -494
- data/bridge/src/runtime.rs +0 -54
- data/bridge/src/test_server.rs +0 -153
- data/bridge/src/worker.rs +0 -197
- data/ext/Rakefile +0 -9
- data/lib/gen/dependencies/gogoproto/gogo_pb.rb +0 -14
- data/lib/gen/temporal/api/batch/v1/message_pb.rb +0 -50
- data/lib/gen/temporal/api/command/v1/message_pb.rb +0 -160
- data/lib/gen/temporal/api/common/v1/message_pb.rb +0 -73
- data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +0 -33
- data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +0 -37
- data/lib/gen/temporal/api/enums/v1/common_pb.rb +0 -42
- data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +0 -68
- data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +0 -79
- data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +0 -37
- data/lib/gen/temporal/api/enums/v1/query_pb.rb +0 -31
- data/lib/gen/temporal/api/enums/v1/reset_pb.rb +0 -24
- data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +0 -28
- data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +0 -30
- data/lib/gen/temporal/api/enums/v1/update_pb.rb +0 -25
- data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +0 -89
- data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +0 -84
- data/lib/gen/temporal/api/failure/v1/message_pb.rb +0 -83
- data/lib/gen/temporal/api/filter/v1/message_pb.rb +0 -40
- data/lib/gen/temporal/api/history/v1/message_pb.rb +0 -498
- data/lib/gen/temporal/api/namespace/v1/message_pb.rb +0 -64
- data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +0 -88
- data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +0 -20
- data/lib/gen/temporal/api/protocol/v1/message_pb.rb +0 -30
- data/lib/gen/temporal/api/query/v1/message_pb.rb +0 -38
- data/lib/gen/temporal/api/replication/v1/message_pb.rb +0 -37
- data/lib/gen/temporal/api/schedule/v1/message_pb.rb +0 -149
- data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +0 -23
- data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +0 -73
- data/lib/gen/temporal/api/testservice/v1/service_pb.rb +0 -21
- data/lib/gen/temporal/api/update/v1/message_pb.rb +0 -72
- data/lib/gen/temporal/api/version/v1/message_pb.rb +0 -41
- data/lib/gen/temporal/api/workflow/v1/message_pb.rb +0 -111
- data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +0 -798
- data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +0 -20
- data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +0 -62
- data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +0 -61
- data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +0 -61
- data/lib/gen/temporal/sdk/core/common/common_pb.rb +0 -26
- data/lib/gen/temporal/sdk/core/core_interface_pb.rb +0 -40
- data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +0 -31
- data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +0 -171
- data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +0 -200
- data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +0 -41
- data/lib/temporalio/bridge/connect_options.rb +0 -15
- data/lib/temporalio/bridge/error.rb +0 -8
- data/lib/temporalio/bridge/retry_config.rb +0 -24
- data/lib/temporalio/bridge/tls_options.rb +0 -19
- data/lib/temporalio/bridge.rb +0 -14
- data/lib/temporalio/client/implementation.rb +0 -340
- data/lib/temporalio/connection/retry_config.rb +0 -44
- data/lib/temporalio/connection/service.rb +0 -20
- data/lib/temporalio/connection/test_service.rb +0 -92
- data/lib/temporalio/connection/tls_options.rb +0 -51
- data/lib/temporalio/connection/workflow_service.rb +0 -731
- data/lib/temporalio/connection.rb +0 -86
- data/lib/temporalio/data_converter.rb +0 -191
- data/lib/temporalio/error/workflow_failure.rb +0 -19
- data/lib/temporalio/errors.rb +0 -40
- data/lib/temporalio/failure_converter/base.rb +0 -26
- data/lib/temporalio/failure_converter/basic.rb +0 -319
- data/lib/temporalio/failure_converter.rb +0 -7
- data/lib/temporalio/interceptor/activity_inbound.rb +0 -22
- data/lib/temporalio/interceptor/activity_outbound.rb +0 -24
- data/lib/temporalio/interceptor/chain.rb +0 -28
- data/lib/temporalio/interceptor/client.rb +0 -127
- data/lib/temporalio/interceptor.rb +0 -22
- data/lib/temporalio/payload_codec/base.rb +0 -32
- data/lib/temporalio/payload_converter/base.rb +0 -24
- data/lib/temporalio/payload_converter/bytes.rb +0 -27
- data/lib/temporalio/payload_converter/composite.rb +0 -49
- data/lib/temporalio/payload_converter/encoding_base.rb +0 -35
- data/lib/temporalio/payload_converter/json.rb +0 -26
- data/lib/temporalio/payload_converter/nil.rb +0 -26
- data/lib/temporalio/payload_converter.rb +0 -14
- data/lib/temporalio/retry_state.rb +0 -35
- data/lib/temporalio/testing/time_skipping_handle.rb +0 -32
- data/lib/temporalio/testing/time_skipping_interceptor.rb +0 -23
- data/lib/temporalio/timeout_type.rb +0 -29
- data/lib/temporalio/worker/activity_runner.rb +0 -114
- data/lib/temporalio/worker/activity_worker.rb +0 -164
- data/lib/temporalio/worker/reactor.rb +0 -46
- data/lib/temporalio/worker/runner.rb +0 -63
- data/lib/temporalio/worker/sync_worker.rb +0 -124
- data/lib/temporalio/worker/thread_pool_executor.rb +0 -51
- data/lib/temporalio/workflow/async.rb +0 -46
- data/lib/temporalio/workflow/execution_info.rb +0 -54
- data/lib/temporalio/workflow/execution_status.rb +0 -36
- data/lib/temporalio/workflow/id_reuse_policy.rb +0 -36
- data/lib/temporalio/workflow/query_reject_condition.rb +0 -33
- data/lib/thermite_patch.rb +0 -33
- data/sig/async.rbs +0 -17
- data/sig/protobuf.rbs +0 -16
- data/sig/protos/dependencies/gogoproto/gogo.rbs +0 -914
- data/sig/protos/google/protobuf/any.rbs +0 -157
- data/sig/protos/google/protobuf/descriptor.rbs +0 -2825
- data/sig/protos/google/protobuf/duration.rbs +0 -114
- data/sig/protos/google/protobuf/empty.rbs +0 -36
- data/sig/protos/google/protobuf/timestamp.rbs +0 -145
- data/sig/protos/google/protobuf/wrappers.rbs +0 -358
- data/sig/protos/temporal/api/batch/v1/message.rbs +0 -300
- data/sig/protos/temporal/api/command/v1/message.rbs +0 -1399
- data/sig/protos/temporal/api/common/v1/message.rbs +0 -528
- data/sig/protos/temporal/api/enums/v1/batch_operation.rbs +0 -79
- data/sig/protos/temporal/api/enums/v1/command_type.rbs +0 -68
- data/sig/protos/temporal/api/enums/v1/common.rbs +0 -118
- data/sig/protos/temporal/api/enums/v1/event_type.rbs +0 -264
- data/sig/protos/temporal/api/enums/v1/failed_cause.rbs +0 -277
- data/sig/protos/temporal/api/enums/v1/namespace.rbs +0 -108
- data/sig/protos/temporal/api/enums/v1/query.rbs +0 -81
- data/sig/protos/temporal/api/enums/v1/reset.rbs +0 -44
- data/sig/protos/temporal/api/enums/v1/schedule.rbs +0 -72
- data/sig/protos/temporal/api/enums/v1/task_queue.rbs +0 -92
- data/sig/protos/temporal/api/enums/v1/update.rbs +0 -64
- data/sig/protos/temporal/api/enums/v1/workflow.rbs +0 -371
- data/sig/protos/temporal/api/errordetails/v1/message.rbs +0 -551
- data/sig/protos/temporal/api/failure/v1/message.rbs +0 -581
- data/sig/protos/temporal/api/filter/v1/message.rbs +0 -171
- data/sig/protos/temporal/api/history/v1/message.rbs +0 -4609
- data/sig/protos/temporal/api/namespace/v1/message.rbs +0 -410
- data/sig/protos/temporal/api/operatorservice/v1/request_response.rbs +0 -643
- data/sig/protos/temporal/api/operatorservice/v1/service.rbs +0 -17
- data/sig/protos/temporal/api/protocol/v1/message.rbs +0 -84
- data/sig/protos/temporal/api/query/v1/message.rbs +0 -182
- data/sig/protos/temporal/api/replication/v1/message.rbs +0 -148
- data/sig/protos/temporal/api/schedule/v1/message.rbs +0 -1488
- data/sig/protos/temporal/api/sdk/v1/task_complete_metadata.rbs +0 -110
- data/sig/protos/temporal/api/taskqueue/v1/message.rbs +0 -486
- data/sig/protos/temporal/api/testservice/v1/request_response.rbs +0 -249
- data/sig/protos/temporal/api/testservice/v1/service.rbs +0 -15
- data/sig/protos/temporal/api/update/v1/message.rbs +0 -489
- data/sig/protos/temporal/api/version/v1/message.rbs +0 -184
- data/sig/protos/temporal/api/workflow/v1/message.rbs +0 -824
- data/sig/protos/temporal/api/workflowservice/v1/request_response.rbs +0 -7250
- data/sig/protos/temporal/api/workflowservice/v1/service.rbs +0 -22
- data/sig/protos/temporal/sdk/core/activity_result/activity_result.rbs +0 -380
- data/sig/protos/temporal/sdk/core/activity_task/activity_task.rbs +0 -386
- data/sig/protos/temporal/sdk/core/child_workflow/child_workflow.rbs +0 -323
- data/sig/protos/temporal/sdk/core/common/common.rbs +0 -62
- data/sig/protos/temporal/sdk/core/core_interface.rbs +0 -101
- data/sig/protos/temporal/sdk/core/external_data/external_data.rbs +0 -119
- data/sig/protos/temporal/sdk/core/workflow_activation/workflow_activation.rbs +0 -1473
- data/sig/protos/temporal/sdk/core/workflow_commands/workflow_commands.rbs +0 -1784
- data/sig/protos/temporal/sdk/core/workflow_completion/workflow_completion.rbs +0 -180
- data/sig/ruby.rbs +0 -12
- data/sig/temporalio/activity/context.rbs +0 -29
- data/sig/temporalio/activity/info.rbs +0 -43
- data/sig/temporalio/activity.rbs +0 -19
- data/sig/temporalio/bridge/connect_options.rbs +0 -19
- data/sig/temporalio/bridge/error.rbs +0 -8
- data/sig/temporalio/bridge/retry_config.rbs +0 -21
- data/sig/temporalio/bridge/tls_options.rbs +0 -17
- data/sig/temporalio/bridge.rbs +0 -71
- data/sig/temporalio/client/implementation.rbs +0 -38
- data/sig/temporalio/client/workflow_handle.rbs +0 -41
- data/sig/temporalio/client.rbs +0 -35
- data/sig/temporalio/connection/retry_config.rbs +0 -37
- data/sig/temporalio/connection/service.rbs +0 -14
- data/sig/temporalio/connection/test_service.rbs +0 -13
- data/sig/temporalio/connection/tls_options.rbs +0 -43
- data/sig/temporalio/connection/workflow_service.rbs +0 -48
- data/sig/temporalio/connection.rbs +0 -30
- data/sig/temporalio/data_converter.rbs +0 -35
- data/sig/temporalio/error/failure.rbs +0 -121
- data/sig/temporalio/error/workflow_failure.rbs +0 -9
- data/sig/temporalio/errors.rbs +0 -36
- data/sig/temporalio/failure_converter/base.rbs +0 -12
- data/sig/temporalio/failure_converter/basic.rbs +0 -86
- data/sig/temporalio/failure_converter.rbs +0 -5
- data/sig/temporalio/interceptor/activity_inbound.rbs +0 -21
- data/sig/temporalio/interceptor/activity_outbound.rbs +0 -10
- data/sig/temporalio/interceptor/chain.rbs +0 -24
- data/sig/temporalio/interceptor/client.rbs +0 -148
- data/sig/temporalio/interceptor.rbs +0 -6
- data/sig/temporalio/payload_codec/base.rbs +0 -12
- data/sig/temporalio/payload_converter/base.rbs +0 -12
- data/sig/temporalio/payload_converter/bytes.rbs +0 -9
- data/sig/temporalio/payload_converter/composite.rbs +0 -19
- data/sig/temporalio/payload_converter/encoding_base.rbs +0 -14
- data/sig/temporalio/payload_converter/json.rbs +0 -9
- data/sig/temporalio/payload_converter/nil.rbs +0 -9
- data/sig/temporalio/payload_converter.rbs +0 -5
- data/sig/temporalio/retry_policy.rbs +0 -25
- data/sig/temporalio/retry_state.rbs +0 -20
- data/sig/temporalio/runtime.rbs +0 -12
- data/sig/temporalio/testing/time_skipping_handle.rbs +0 -15
- data/sig/temporalio/testing/time_skipping_interceptor.rbs +0 -13
- data/sig/temporalio/testing/workflow_environment.rbs +0 -22
- data/sig/temporalio/testing.rbs +0 -35
- data/sig/temporalio/timeout_type.rbs +0 -15
- data/sig/temporalio/version.rbs +0 -3
- data/sig/temporalio/worker/activity_runner.rbs +0 -35
- data/sig/temporalio/worker/activity_worker.rbs +0 -44
- data/sig/temporalio/worker/reactor.rbs +0 -22
- data/sig/temporalio/worker/runner.rbs +0 -21
- data/sig/temporalio/worker/sync_worker.rbs +0 -23
- data/sig/temporalio/worker/thread_pool_executor.rbs +0 -23
- data/sig/temporalio/worker.rbs +0 -46
- data/sig/temporalio/workflow/async.rbs +0 -9
- data/sig/temporalio/workflow/execution_info.rbs +0 -55
- data/sig/temporalio/workflow/execution_status.rbs +0 -21
- data/sig/temporalio/workflow/future.rbs +0 -40
- data/sig/temporalio/workflow/id_reuse_policy.rbs +0 -15
- data/sig/temporalio/workflow/info.rbs +0 -55
- data/sig/temporalio/workflow/query_reject_condition.rbs +0 -14
- data/sig/temporalio.rbs +0 -2
- data/sig/thermite_patch.rbs +0 -15
|
@@ -1,243 +1,389 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'securerandom'
|
|
4
|
+
require 'temporalio/api'
|
|
5
|
+
require 'temporalio/client/interceptor'
|
|
6
|
+
require 'temporalio/client/workflow_update_handle'
|
|
7
|
+
require 'temporalio/client/workflow_update_wait_stage'
|
|
8
|
+
require 'temporalio/error'
|
|
9
|
+
require 'temporalio/workflow_history'
|
|
3
10
|
|
|
4
11
|
module Temporalio
|
|
5
12
|
class Client
|
|
6
|
-
# Handle for interacting with a workflow.
|
|
7
|
-
#
|
|
8
|
-
# This is usually created via {Temporalio::Client#workflow_handle} or returned
|
|
9
|
-
# from {Temporalio::Client#start_workflow}.
|
|
13
|
+
# Handle for interacting with a workflow. This is usually created via {Client.start_workflow} or
|
|
14
|
+
# {Client.workflow_handle}.
|
|
10
15
|
class WorkflowHandle
|
|
11
16
|
# @return [String] ID for the workflow.
|
|
12
17
|
attr_reader :id
|
|
13
18
|
|
|
14
|
-
# Run ID used for {
|
|
15
|
-
# on this exact run.
|
|
19
|
+
# Run ID used for {signal}, {query}, and {start_update}/{execute_update} calls if present to ensure the
|
|
20
|
+
# signal/query/update happen on this exact run.
|
|
16
21
|
#
|
|
17
|
-
# This is only
|
|
18
|
-
# parameter. {Temporalio::Client#start_workflow} does not set this value.
|
|
22
|
+
# This is only created via {Client.workflow_handle}. {Client.start_workflow} will not set this value.
|
|
19
23
|
#
|
|
20
|
-
# This cannot be mutated. If a different run ID is needed, {
|
|
21
|
-
# must be used instead.
|
|
24
|
+
# This cannot be mutated. If a different run ID is needed, {Client.workflow_handle} must be used instead.
|
|
22
25
|
#
|
|
23
|
-
# @return [String]
|
|
26
|
+
# @return [String, nil] Run ID.
|
|
24
27
|
attr_reader :run_id
|
|
25
28
|
|
|
26
|
-
# Run ID used for {
|
|
27
|
-
# this run.
|
|
29
|
+
# Run ID used for {result} calls if present to ensure result is for a workflow starting from this run.
|
|
28
30
|
#
|
|
29
|
-
# When this handle is created via {
|
|
30
|
-
#
|
|
31
|
-
# will be the resulting run ID.
|
|
31
|
+
# When this handle is created via {Client.workflow_handle}, this is the same as {run_id}. When this handle is
|
|
32
|
+
# created via {Client.start_workflow}, this value will be the resulting run ID.
|
|
32
33
|
#
|
|
33
|
-
# This cannot be mutated. If a different run ID is needed, {
|
|
34
|
-
# must be used instead.
|
|
34
|
+
# This cannot be mutated. If a different run ID is needed, {Client.workflow_handle} must be used instead.
|
|
35
35
|
#
|
|
36
|
-
# @return [String]
|
|
36
|
+
# @return [String, nil] Result run ID.
|
|
37
37
|
attr_reader :result_run_id
|
|
38
38
|
|
|
39
|
-
# Run ID used for {
|
|
40
|
-
#
|
|
39
|
+
# Run ID used for some calls like {cancel} and {terminate} to ensure the cancel and terminate happen for a
|
|
40
|
+
# workflow ID on a chain started with this run ID.
|
|
41
41
|
#
|
|
42
|
-
# This can be set when using {
|
|
43
|
-
#
|
|
44
|
-
# resulting run.
|
|
42
|
+
# This can be set when using {Client.workflow_handle}. When {Client.start_workflow} is called without a start
|
|
43
|
+
# signal, this is set to the resulting run.
|
|
45
44
|
#
|
|
46
|
-
# This cannot be mutated. If a different first execution run ID is needed,
|
|
47
|
-
#
|
|
45
|
+
# This cannot be mutated. If a different first execution run ID is needed, {Client.workflow_handle} must be used
|
|
46
|
+
# instead.
|
|
48
47
|
#
|
|
49
|
-
# @return [String]
|
|
48
|
+
# @return [String, nil] First execution run ID.
|
|
50
49
|
attr_reader :first_execution_run_id
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
# @!visibility private
|
|
52
|
+
def initialize(client:, id:, run_id:, result_run_id:, first_execution_run_id:)
|
|
53
|
+
@client = client
|
|
54
54
|
@id = id
|
|
55
55
|
@run_id = run_id
|
|
56
56
|
@result_run_id = result_run_id
|
|
57
57
|
@first_execution_run_id = first_execution_run_id
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
# Wait for result of the workflow.
|
|
60
|
+
# Wait for the result of the workflow.
|
|
61
|
+
#
|
|
62
|
+
# This will use {result_run_id} if present to base the result on. To use another run ID, a new handle must be
|
|
63
|
+
# created via {Client.workflow_handle}.
|
|
64
|
+
#
|
|
65
|
+
# @param follow_runs [Boolean] If +true+, workflow runs will be continually fetched across retries and continue as
|
|
66
|
+
# new until the latest one is found. If +false+, the first result is used.
|
|
67
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
68
|
+
#
|
|
69
|
+
# @return [Object] Result of the workflow after being converted by the data converter.
|
|
70
|
+
#
|
|
71
|
+
# @raise [Error::WorkflowFailedError] Workflow failed with +cause+ as the cause.
|
|
72
|
+
# @raise [Error::WorkflowContinuedAsNewError] Workflow continued as new and +follow_runs+ is +false+.
|
|
73
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
74
|
+
def result(follow_runs: true, rpc_options: nil)
|
|
75
|
+
# Wait on the close event, following as needed
|
|
76
|
+
hist_run_id = result_run_id
|
|
77
|
+
loop do
|
|
78
|
+
# Get close event
|
|
79
|
+
event = fetch_history_events(
|
|
80
|
+
wait_new_event: true,
|
|
81
|
+
event_filter_type: Api::Enums::V1::HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT,
|
|
82
|
+
skip_archival: true,
|
|
83
|
+
specific_run_id: hist_run_id,
|
|
84
|
+
rpc_options:
|
|
85
|
+
).next
|
|
86
|
+
|
|
87
|
+
# Check each close type'
|
|
88
|
+
case event.event_type
|
|
89
|
+
when :EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
|
|
90
|
+
attrs = event.workflow_execution_completed_event_attributes
|
|
91
|
+
hist_run_id = attrs.new_execution_run_id
|
|
92
|
+
next if follow_runs && hist_run_id && !hist_run_id.empty?
|
|
93
|
+
|
|
94
|
+
return @client.data_converter.from_payloads(attrs.result).first
|
|
95
|
+
when :EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
|
|
96
|
+
attrs = event.workflow_execution_failed_event_attributes
|
|
97
|
+
hist_run_id = attrs.new_execution_run_id
|
|
98
|
+
next if follow_runs && hist_run_id && !hist_run_id.empty?
|
|
99
|
+
|
|
100
|
+
raise Error::WorkflowFailedError.new, cause: @client.data_converter.from_failure(attrs.failure)
|
|
101
|
+
when :EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
|
|
102
|
+
attrs = event.workflow_execution_canceled_event_attributes
|
|
103
|
+
raise Error::WorkflowFailedError.new, 'Workflow execution canceled', cause: Error::CanceledError.new(
|
|
104
|
+
'Workflow execution canceled',
|
|
105
|
+
details: @client.data_converter.from_payloads(attrs&.details)
|
|
106
|
+
)
|
|
107
|
+
when :EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED
|
|
108
|
+
attrs = event.workflow_execution_terminated_event_attributes
|
|
109
|
+
raise Error::WorkflowFailedError.new, 'Workflow execution terminated', cause: Error::TerminatedError.new(
|
|
110
|
+
Internal::ProtoUtils.string_or(attrs.reason, 'Workflow execution terminated'),
|
|
111
|
+
details: @client.data_converter.from_payloads(attrs&.details)
|
|
112
|
+
)
|
|
113
|
+
when :EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT
|
|
114
|
+
attrs = event.workflow_execution_timed_out_event_attributes
|
|
115
|
+
hist_run_id = attrs.new_execution_run_id
|
|
116
|
+
next if follow_runs && hist_run_id && !hist_run_id.empty?
|
|
117
|
+
|
|
118
|
+
raise Error::WorkflowFailedError.new, 'Workflow execution timed out', cause: Error::TimeoutError.new(
|
|
119
|
+
'Workflow execution timed out',
|
|
120
|
+
type: Api::Enums::V1::TimeoutType::TIMEOUT_TYPE_START_TO_CLOSE,
|
|
121
|
+
last_heartbeat_details: []
|
|
122
|
+
)
|
|
123
|
+
when :EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
|
|
124
|
+
attrs = event.workflow_execution_continued_as_new_event_attributes
|
|
125
|
+
hist_run_id = attrs.new_execution_run_id
|
|
126
|
+
next if follow_runs && hist_run_id && !hist_run_id.empty?
|
|
127
|
+
|
|
128
|
+
# TODO: Use more specific error and decode failure
|
|
129
|
+
raise Error::WorkflowContinuedAsNewError.new(new_run_id: attrs.new_execution_run_id)
|
|
130
|
+
else
|
|
131
|
+
raise Error, "Unknown close event type: #{event.event_type}"
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Get workflow details. This will get details for the {run_id} if present. To use a different run ID, create a new
|
|
137
|
+
# handle via {Client.workflow_handle}.
|
|
61
138
|
#
|
|
62
|
-
#
|
|
63
|
-
# a new handle must be created via {Temporalio::Client#workflow_handle}.
|
|
139
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
64
140
|
#
|
|
65
|
-
# @
|
|
66
|
-
# until the most recent one is found. If false, the first result is used.
|
|
67
|
-
# @param rpc_metadata [Hash<String, String>] Headers used on the RPC call.
|
|
68
|
-
# Keys here override client-level RPC metadata keys.
|
|
69
|
-
# @param rpc_timeout [Integer] Optional RPC deadline to set for each RPC call. Note, this is
|
|
70
|
-
# the timeout for each history RPC call not this overall function.
|
|
141
|
+
# @return [WorkflowExecution::Description] Workflow description.
|
|
71
142
|
#
|
|
72
|
-
# @
|
|
143
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
73
144
|
#
|
|
74
|
-
# @
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
145
|
+
# @note Handles created as a result of {Client.start_workflow} will describe the latest workflow with the same
|
|
146
|
+
# workflow ID even if it is unrelated to the started workflow.
|
|
147
|
+
def describe(rpc_options: nil)
|
|
148
|
+
@client._impl.describe_workflow(Interceptor::DescribeWorkflowInput.new(
|
|
149
|
+
workflow_id: id,
|
|
150
|
+
run_id:,
|
|
151
|
+
rpc_options:
|
|
152
|
+
))
|
|
79
153
|
end
|
|
80
154
|
|
|
81
|
-
# Get workflow
|
|
82
|
-
#
|
|
83
|
-
# This will get details for {#run_id} if present. To use a different run ID, create a new
|
|
84
|
-
# handle with via {Temporalio::Client#workflow_handle}.
|
|
85
|
-
#
|
|
86
|
-
# @note Handles created as a result of {Temporalio::Client#start_workflow} will describe the
|
|
87
|
-
# latest workflow with the same workflow ID even if it is unrelated to the started workflow.
|
|
155
|
+
# Get workflow history. This is a helper on top of {fetch_history_events}.
|
|
88
156
|
#
|
|
89
|
-
# @param
|
|
90
|
-
#
|
|
91
|
-
# @param
|
|
92
|
-
# the timeout for each history RPC call not this overall function.
|
|
157
|
+
# @param event_filter_type [Api::Enums::V1::HistoryEventFilterType] Types of events to fetch.
|
|
158
|
+
# @param skip_archival [Boolean] Whether to skip archival.
|
|
159
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
93
160
|
#
|
|
94
|
-
# @return [
|
|
161
|
+
# @return [WorkflowHistory] Workflow history.
|
|
95
162
|
#
|
|
96
|
-
# @raise [
|
|
97
|
-
def
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
163
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
164
|
+
def fetch_history(
|
|
165
|
+
event_filter_type: Api::Enums::V1::HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_ALL_EVENT,
|
|
166
|
+
skip_archival: false,
|
|
167
|
+
rpc_options: nil
|
|
168
|
+
)
|
|
169
|
+
WorkflowHistory.new(
|
|
170
|
+
fetch_history_events(
|
|
171
|
+
event_filter_type:,
|
|
172
|
+
skip_archival:,
|
|
173
|
+
rpc_options:
|
|
174
|
+
).to_a
|
|
103
175
|
)
|
|
104
|
-
|
|
105
|
-
client_impl.describe_workflow(input)
|
|
106
176
|
end
|
|
107
177
|
|
|
108
|
-
#
|
|
109
|
-
#
|
|
110
|
-
#
|
|
111
|
-
#
|
|
112
|
-
#
|
|
113
|
-
#
|
|
114
|
-
# @
|
|
115
|
-
#
|
|
116
|
-
#
|
|
117
|
-
#
|
|
118
|
-
# @param
|
|
119
|
-
#
|
|
120
|
-
#
|
|
121
|
-
#
|
|
122
|
-
#
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
178
|
+
# Fetch an enumerator of history events for this workflow. Internally this is done in paginated form, but it is
|
|
179
|
+
# presented as an enumerator.
|
|
180
|
+
#
|
|
181
|
+
# @param wait_new_event [Boolean] If +true+, when the end of the current set of events is reached but the workflow
|
|
182
|
+
# is not complete, this will wait for the next event. If +false+, the enumerable completes at the end of current
|
|
183
|
+
# history.
|
|
184
|
+
# @param event_filter_type [Api::Enums::V1::HistoryEventFilterType] Types of events to fetch.
|
|
185
|
+
# @param skip_archival [Boolean] Whether to skip archival.
|
|
186
|
+
# @param specific_run_id [String, nil] Run ID to fetch events for. Default is the {run_id}. Most users will not
|
|
187
|
+
# need to set this and instead use the one on the class.
|
|
188
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
189
|
+
#
|
|
190
|
+
# @return [Enumerator<Api::History::V1::HistoryEvent>] Enumerable events.
|
|
191
|
+
#
|
|
192
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
193
|
+
def fetch_history_events(
|
|
194
|
+
wait_new_event: false,
|
|
195
|
+
event_filter_type: Api::Enums::V1::HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_ALL_EVENT,
|
|
196
|
+
skip_archival: false,
|
|
197
|
+
specific_run_id: run_id,
|
|
198
|
+
rpc_options: nil
|
|
199
|
+
)
|
|
200
|
+
@client._impl.fetch_workflow_history_events(Interceptor::FetchWorkflowHistoryEventsInput.new(
|
|
201
|
+
workflow_id: id,
|
|
202
|
+
run_id: specific_run_id,
|
|
203
|
+
wait_new_event:,
|
|
204
|
+
event_filter_type:,
|
|
205
|
+
skip_archival:,
|
|
206
|
+
rpc_options:
|
|
207
|
+
))
|
|
208
|
+
end
|
|
133
209
|
|
|
134
|
-
|
|
210
|
+
# Send a signal to the workflow. This will signal for {run_id} if present. To use a different run ID, create a new
|
|
211
|
+
# handle via {Client.workflow_handle}.
|
|
212
|
+
#
|
|
213
|
+
# @param signal [Workflow::Definition::Signal, Symbol, String] Signal definition or name.
|
|
214
|
+
# @param args [Array<Object>] Signal arguments.
|
|
215
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
216
|
+
#
|
|
217
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
218
|
+
#
|
|
219
|
+
# @note Handles created as a result of {Client.start_workflow} will signal the latest workflow with the same
|
|
220
|
+
# workflow ID even if it is unrelated to the started workflow.
|
|
221
|
+
def signal(signal, *args, rpc_options: nil)
|
|
222
|
+
@client._impl.signal_workflow(Interceptor::SignalWorkflowInput.new(
|
|
223
|
+
workflow_id: id,
|
|
224
|
+
run_id:,
|
|
225
|
+
signal:,
|
|
226
|
+
args:,
|
|
227
|
+
headers: {},
|
|
228
|
+
rpc_options:
|
|
229
|
+
))
|
|
135
230
|
end
|
|
136
231
|
|
|
137
|
-
# Query the workflow.
|
|
138
|
-
#
|
|
139
|
-
# This will query for {#run_id} if present. To use a different run ID, create a new handle
|
|
140
|
-
# with via {Temporalio::Client#workflow_handle}.
|
|
232
|
+
# Query the workflow. This will query for {run_id} if present. To use a different run ID, create a new handle via
|
|
233
|
+
# {Client.workflow_handle}.
|
|
141
234
|
#
|
|
142
|
-
# @
|
|
143
|
-
#
|
|
235
|
+
# @param query [Workflow::Definition::Query, Symbol, String] Query definition or name.
|
|
236
|
+
# @param args [Array<Object>] Query arguments.
|
|
237
|
+
# @param reject_condition [WorkflowQueryRejectCondition, nil] Condition for rejecting the query.
|
|
238
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
144
239
|
#
|
|
145
|
-
# @
|
|
146
|
-
# @param args [any] Arguments to the query.
|
|
147
|
-
# @param reject_condition [Symbol] Condition for rejecting the query. Refer to
|
|
148
|
-
# {Temporalio::Workflow::QueryRejectCondition} for the list of allowed values.
|
|
149
|
-
# @param rpc_metadata [Hash<String, String>] Headers used on the RPC call.
|
|
150
|
-
# Keys here override client-level RPC metadata keys.
|
|
151
|
-
# @param rpc_timeout [Integer] Optional RPC deadline to set for each RPC call.
|
|
240
|
+
# @return [Object, nil] Query result.
|
|
152
241
|
#
|
|
153
|
-
# @
|
|
242
|
+
# @raise [Error::WorkflowQueryFailedError] The query on the workflow returned a failure.
|
|
243
|
+
# @raise [Error::WorkflowQueryRejectedError] A query reject condition was satisfied.
|
|
244
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
154
245
|
#
|
|
155
|
-
# @
|
|
156
|
-
#
|
|
246
|
+
# @note Handles created as a result of {Client.start_workflow} will query the latest workflow with the same
|
|
247
|
+
# workflow ID even if it is unrelated to the started workflow.
|
|
157
248
|
def query(
|
|
158
249
|
query,
|
|
159
250
|
*args,
|
|
160
|
-
reject_condition:
|
|
161
|
-
|
|
162
|
-
rpc_timeout: nil
|
|
251
|
+
reject_condition: @client.options.default_workflow_query_reject_condition,
|
|
252
|
+
rpc_options: nil
|
|
163
253
|
)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
)
|
|
174
|
-
|
|
175
|
-
client_impl.query_workflow(input)
|
|
254
|
+
@client._impl.query_workflow(Interceptor::QueryWorkflowInput.new(
|
|
255
|
+
workflow_id: id,
|
|
256
|
+
run_id:,
|
|
257
|
+
query:,
|
|
258
|
+
args:,
|
|
259
|
+
reject_condition:,
|
|
260
|
+
headers: {},
|
|
261
|
+
rpc_options:
|
|
262
|
+
))
|
|
176
263
|
end
|
|
177
264
|
|
|
178
|
-
# Send a
|
|
179
|
-
#
|
|
180
|
-
#
|
|
181
|
-
#
|
|
182
|
-
#
|
|
183
|
-
# @
|
|
184
|
-
#
|
|
185
|
-
#
|
|
186
|
-
# @param
|
|
187
|
-
#
|
|
188
|
-
# @
|
|
189
|
-
#
|
|
190
|
-
# @
|
|
191
|
-
#
|
|
192
|
-
# @
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
265
|
+
# Send an update request to the workflow and return a handle to it. This will target the workflow with {run_id} if
|
|
266
|
+
# present. To use a different run ID, create a new handle via {Client.workflow_handle}.
|
|
267
|
+
#
|
|
268
|
+
# @param update [Workflow::Definition::Update, Symbol, String] Update definition or name.
|
|
269
|
+
# @param args [Array<Object>] Update arguments.
|
|
270
|
+
# @param wait_for_stage [WorkflowUpdateWaitStage] Required stage to wait until returning. ADMITTED is not
|
|
271
|
+
# currently supported. See https://docs.temporal.io/workflows#update for more details.
|
|
272
|
+
# @param id [String] ID of the update.
|
|
273
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
274
|
+
#
|
|
275
|
+
# @return [WorkflowUpdateHandle] The update handle.
|
|
276
|
+
#
|
|
277
|
+
# @raise [Error::WorkflowUpdateRPCTimeoutOrCanceledError] This update call timed out or was canceled. This doesn't
|
|
278
|
+
# mean the update itself was timed out or canceled.
|
|
279
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
280
|
+
#
|
|
281
|
+
# @note Handles created as a result of {Client.start_workflow} will send updates the latest workflow with the same
|
|
282
|
+
# workflow ID even if it is unrelated to the started workflow.
|
|
283
|
+
def start_update(
|
|
284
|
+
update,
|
|
285
|
+
*args,
|
|
286
|
+
wait_for_stage:,
|
|
287
|
+
id: SecureRandom.uuid,
|
|
288
|
+
rpc_options: nil
|
|
289
|
+
)
|
|
290
|
+
@client._impl.start_workflow_update(Interceptor::StartWorkflowUpdateInput.new(
|
|
291
|
+
workflow_id: self.id,
|
|
292
|
+
run_id:,
|
|
293
|
+
update_id: id,
|
|
294
|
+
update:,
|
|
295
|
+
args:,
|
|
296
|
+
wait_for_stage:,
|
|
297
|
+
headers: {},
|
|
298
|
+
rpc_options:
|
|
299
|
+
))
|
|
300
|
+
end
|
|
203
301
|
|
|
204
|
-
|
|
302
|
+
# Send an update request to the workflow and wait for it to complete. This will target the workflow with {run_id}
|
|
303
|
+
# if present. To use a different run ID, create a new handle via {Client.workflow_handle}.
|
|
304
|
+
#
|
|
305
|
+
# @param update [Workflow::Definition::Update, Symbol, String] Update definition or name.
|
|
306
|
+
# @param args [Array<Object>] Update arguments.
|
|
307
|
+
# @param id [String] ID of the update.
|
|
308
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
309
|
+
#
|
|
310
|
+
# @return [Object, nil] Update result.
|
|
311
|
+
#
|
|
312
|
+
# @raise [Error::WorkflowUpdateFailedError] If the update failed.
|
|
313
|
+
# @raise [Error::WorkflowUpdateRPCTimeoutOrCanceledError] This update call timed out or was canceled. This doesn't
|
|
314
|
+
# mean the update itself was timed out or canceled.
|
|
315
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
316
|
+
#
|
|
317
|
+
# @note Handles created as a result of {Client.start_workflow} will send updates the latest workflow with the same
|
|
318
|
+
# workflow ID even if it is unrelated to the started workflow.
|
|
319
|
+
def execute_update(update, *args, id: SecureRandom.uuid, rpc_options: nil)
|
|
320
|
+
start_update(
|
|
321
|
+
update,
|
|
322
|
+
*args,
|
|
323
|
+
wait_for_stage: WorkflowUpdateWaitStage::COMPLETED,
|
|
324
|
+
id:,
|
|
325
|
+
rpc_options:
|
|
326
|
+
).result
|
|
205
327
|
end
|
|
206
328
|
|
|
207
|
-
#
|
|
208
|
-
#
|
|
209
|
-
#
|
|
210
|
-
# run
|
|
211
|
-
#
|
|
212
|
-
|
|
213
|
-
# @
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
# @param rpc_timeout [Integer] Optional RPC deadline to set for each RPC call.
|
|
222
|
-
#
|
|
223
|
-
# @raise [Temporalio::Error::RPCError] Workflow could not be terminated.
|
|
224
|
-
def terminate(reason = nil, args = nil, rpc_metadata: {}, rpc_timeout: nil)
|
|
225
|
-
input = Interceptor::Client::TerminateWorkflowInput.new(
|
|
226
|
-
id: id,
|
|
227
|
-
run_id: run_id,
|
|
228
|
-
first_execution_run_id: first_execution_run_id,
|
|
229
|
-
reason: reason,
|
|
230
|
-
args: args,
|
|
231
|
-
rpc_metadata: rpc_metadata,
|
|
232
|
-
rpc_timeout: rpc_timeout,
|
|
329
|
+
# Get a handle for an update. The handle can be used to wait on the update result.
|
|
330
|
+
#
|
|
331
|
+
# @param id [String] ID of the update.
|
|
332
|
+
# @param specific_run_id [String, nil] Workflow run ID to get update handle for. Default is the {run_id}. Most
|
|
333
|
+
# users will not need to set this and instead use the one on the class.
|
|
334
|
+
#
|
|
335
|
+
# @return [WorkflowUpdateHandle] The update handle.
|
|
336
|
+
def update_handle(id, specific_run_id: run_id)
|
|
337
|
+
WorkflowUpdateHandle.new(
|
|
338
|
+
client: @client,
|
|
339
|
+
id:,
|
|
340
|
+
workflow_id: self.id,
|
|
341
|
+
workflow_run_id: specific_run_id,
|
|
342
|
+
known_outcome: nil
|
|
233
343
|
)
|
|
234
|
-
|
|
235
|
-
client_impl.terminate_workflow(input)
|
|
236
344
|
end
|
|
237
345
|
|
|
238
|
-
|
|
346
|
+
# Cancel the workflow. This will issue a cancellation for {run_id} if present. This call will make sure to use the
|
|
347
|
+
# run chain starting from {first_execution_run_id} if present. To create handles with these values, use
|
|
348
|
+
# {Client.workflow_handle}.
|
|
349
|
+
#
|
|
350
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
351
|
+
#
|
|
352
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
353
|
+
#
|
|
354
|
+
# @note Handles created as a result of signal with start will cancel the latest workflow with the same workflow ID
|
|
355
|
+
# even if it is unrelated to the started workflow.
|
|
356
|
+
def cancel(rpc_options: nil)
|
|
357
|
+
@client._impl.cancel_workflow(Interceptor::CancelWorkflowInput.new(
|
|
358
|
+
workflow_id: id,
|
|
359
|
+
run_id:,
|
|
360
|
+
first_execution_run_id:,
|
|
361
|
+
rpc_options:
|
|
362
|
+
))
|
|
363
|
+
end
|
|
239
364
|
|
|
240
|
-
|
|
365
|
+
# Terminate the workflow. This will issue a termination for {run_id} if present. This call will make sure to use
|
|
366
|
+
# the run chain starting from {first_execution_run_id} if present. To create handles with these values, use
|
|
367
|
+
# {Client.workflow_handle}.
|
|
368
|
+
#
|
|
369
|
+
# @param reason [String, nil] Reason for the termination.
|
|
370
|
+
# @param details [Array<Object>] Details to store on the termination.
|
|
371
|
+
# @param rpc_options [RPCOptions, nil] Advanced RPC options.
|
|
372
|
+
#
|
|
373
|
+
# @raise [Error::RPCError] RPC error from call.
|
|
374
|
+
#
|
|
375
|
+
# @note Handles created as a result of signal with start will terminate the latest workflow with the same workflow
|
|
376
|
+
# ID even if it is unrelated to the started workflow.
|
|
377
|
+
def terminate(reason = nil, details: [], rpc_options: nil)
|
|
378
|
+
@client._impl.terminate_workflow(Interceptor::TerminateWorkflowInput.new(
|
|
379
|
+
workflow_id: id,
|
|
380
|
+
run_id:,
|
|
381
|
+
first_execution_run_id:,
|
|
382
|
+
reason:,
|
|
383
|
+
details:,
|
|
384
|
+
rpc_options:
|
|
385
|
+
))
|
|
386
|
+
end
|
|
241
387
|
end
|
|
242
388
|
end
|
|
243
389
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'temporalio/api'
|
|
4
|
+
|
|
5
|
+
module Temporalio
|
|
6
|
+
class Client
|
|
7
|
+
# Whether a query should be rejected in certain conditions.
|
|
8
|
+
module WorkflowQueryRejectCondition
|
|
9
|
+
NONE = Api::Enums::V1::QueryRejectCondition::QUERY_REJECT_CONDITION_NONE
|
|
10
|
+
NOT_OPEN = Api::Enums::V1::QueryRejectCondition::QUERY_REJECT_CONDITION_NOT_OPEN
|
|
11
|
+
NOT_COMPLETED_CLEANLY = Api::Enums::V1::QueryRejectCondition::QUERY_REJECT_CONDITION_NOT_COMPLETED_CLEANLY
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|