temporalio 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Cargo.lock +4035 -0
- data/Cargo.toml +25 -0
- data/Gemfile +20 -0
- data/LICENSE +16 -15
- data/README.md +455 -195
- data/Rakefile +387 -0
- data/ext/Cargo.toml +25 -0
- data/lib/temporalio/activity/complete_async_error.rb +11 -0
- data/lib/temporalio/activity/context.rb +82 -77
- data/lib/temporalio/activity/definition.rb +77 -0
- data/lib/temporalio/activity/info.rb +42 -46
- data/lib/temporalio/activity.rb +49 -65
- data/lib/temporalio/api/batch/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +93 -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 +36 -0
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +35 -0
- data/lib/temporalio/api/cloud/operation/v1/message.rb +27 -0
- data/lib/temporalio/api/cloud/region/v1/message.rb +23 -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 +41 -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/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 +42 -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/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 +189 -0
- data/lib/temporalio/api/workflowservice/v1/service.rb +23 -0
- data/lib/temporalio/api/workflowservice.rb +3 -0
- data/lib/temporalio/api.rb +13 -0
- data/lib/temporalio/cancellation.rb +150 -0
- data/lib/temporalio/client/activity_id_reference.rb +32 -0
- data/lib/temporalio/client/async_activity_handle.rb +110 -0
- data/lib/temporalio/client/connection/cloud_service.rb +648 -0
- data/lib/temporalio/client/connection/operator_service.rb +249 -0
- data/lib/temporalio/client/connection/service.rb +41 -0
- data/lib/temporalio/client/connection/workflow_service.rb +1218 -0
- data/lib/temporalio/client/connection.rb +270 -0
- data/lib/temporalio/client/interceptor.rb +316 -0
- data/lib/temporalio/client/workflow_execution.rb +103 -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 +380 -177
- data/lib/temporalio/client/workflow_query_reject_condition.rb +14 -0
- data/lib/temporalio/client/workflow_update_handle.rb +67 -0
- data/lib/temporalio/client/workflow_update_wait_stage.rb +17 -0
- data/lib/temporalio/client.rb +366 -93
- data/lib/temporalio/common_enums.rb +24 -0
- data/lib/temporalio/converters/data_converter.rb +102 -0
- data/lib/temporalio/converters/failure_converter.rb +200 -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 +62 -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 +73 -0
- data/lib/temporalio/converters.rb +9 -0
- data/lib/temporalio/error/failure.rb +119 -94
- data/lib/temporalio/error.rb +147 -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 +36 -0
- data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +27 -0
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +52 -0
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +54 -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 +90 -0
- data/lib/temporalio/internal/bridge/runtime.rb +53 -0
- data/lib/temporalio/internal/bridge/testing.rb +46 -0
- data/lib/temporalio/internal/bridge/worker.rb +83 -0
- data/lib/temporalio/internal/bridge.rb +36 -0
- data/lib/temporalio/internal/client/implementation.rb +525 -0
- data/lib/temporalio/internal/proto_utils.rb +54 -0
- data/lib/temporalio/internal/worker/activity_worker.rb +345 -0
- data/lib/temporalio/internal/worker/multi_runner.rb +169 -0
- data/lib/temporalio/internal.rb +7 -0
- data/lib/temporalio/retry_policy.rb +39 -80
- data/lib/temporalio/runtime.rb +259 -13
- data/lib/temporalio/scoped_logger.rb +96 -0
- data/lib/temporalio/search_attributes.rb +300 -0
- data/lib/temporalio/testing/activity_environment.rb +132 -0
- data/lib/temporalio/testing/workflow_environment.rb +113 -88
- 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 +254 -0
- data/lib/temporalio/worker/activity_executor.rb +55 -0
- data/lib/temporalio/worker/interceptor.rb +88 -0
- data/lib/temporalio/worker/tuner.rb +151 -0
- data/lib/temporalio/worker.rb +385 -163
- data/lib/temporalio/workflow_history.rb +22 -0
- data/lib/temporalio.rb +2 -7
- data/temporalio.gemspec +20 -38
- metadata +131 -596
- 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/request_response_pb.rb +0 -49
- 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/future.rb +0 -138
- data/lib/temporalio/workflow/id_reuse_policy.rb +0 -36
- data/lib/temporalio/workflow/info.rb +0 -76
- data/lib/temporalio/workflow/query_reject_condition.rb +0 -33
- data/lib/thermite_patch.rb +0 -23
@@ -1,200 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: temporal/sdk/core/workflow_commands/workflow_commands.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
require 'google/protobuf/duration_pb'
|
7
|
-
require 'google/protobuf/timestamp_pb'
|
8
|
-
require 'temporal/api/common/v1/message_pb'
|
9
|
-
require 'temporal/api/enums/v1/workflow_pb'
|
10
|
-
require 'temporal/api/failure/v1/message_pb'
|
11
|
-
require 'temporal/sdk/core/child_workflow/child_workflow_pb'
|
12
|
-
require 'temporal/sdk/core/common/common_pb'
|
13
|
-
|
14
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
15
|
-
add_file("temporal/sdk/core/workflow_commands/workflow_commands.proto", :syntax => :proto3) do
|
16
|
-
add_message "coresdk.workflow_commands.WorkflowCommand" do
|
17
|
-
oneof :variant do
|
18
|
-
optional :start_timer, :message, 1, "coresdk.workflow_commands.StartTimer"
|
19
|
-
optional :schedule_activity, :message, 2, "coresdk.workflow_commands.ScheduleActivity"
|
20
|
-
optional :respond_to_query, :message, 3, "coresdk.workflow_commands.QueryResult"
|
21
|
-
optional :request_cancel_activity, :message, 4, "coresdk.workflow_commands.RequestCancelActivity"
|
22
|
-
optional :cancel_timer, :message, 5, "coresdk.workflow_commands.CancelTimer"
|
23
|
-
optional :complete_workflow_execution, :message, 6, "coresdk.workflow_commands.CompleteWorkflowExecution"
|
24
|
-
optional :fail_workflow_execution, :message, 7, "coresdk.workflow_commands.FailWorkflowExecution"
|
25
|
-
optional :continue_as_new_workflow_execution, :message, 8, "coresdk.workflow_commands.ContinueAsNewWorkflowExecution"
|
26
|
-
optional :cancel_workflow_execution, :message, 9, "coresdk.workflow_commands.CancelWorkflowExecution"
|
27
|
-
optional :set_patch_marker, :message, 10, "coresdk.workflow_commands.SetPatchMarker"
|
28
|
-
optional :start_child_workflow_execution, :message, 11, "coresdk.workflow_commands.StartChildWorkflowExecution"
|
29
|
-
optional :cancel_child_workflow_execution, :message, 12, "coresdk.workflow_commands.CancelChildWorkflowExecution"
|
30
|
-
optional :request_cancel_external_workflow_execution, :message, 13, "coresdk.workflow_commands.RequestCancelExternalWorkflowExecution"
|
31
|
-
optional :signal_external_workflow_execution, :message, 14, "coresdk.workflow_commands.SignalExternalWorkflowExecution"
|
32
|
-
optional :cancel_signal_workflow, :message, 15, "coresdk.workflow_commands.CancelSignalWorkflow"
|
33
|
-
optional :schedule_local_activity, :message, 16, "coresdk.workflow_commands.ScheduleLocalActivity"
|
34
|
-
optional :request_cancel_local_activity, :message, 17, "coresdk.workflow_commands.RequestCancelLocalActivity"
|
35
|
-
optional :upsert_workflow_search_attributes, :message, 18, "coresdk.workflow_commands.UpsertWorkflowSearchAttributes"
|
36
|
-
optional :modify_workflow_properties, :message, 19, "coresdk.workflow_commands.ModifyWorkflowProperties"
|
37
|
-
end
|
38
|
-
end
|
39
|
-
add_message "coresdk.workflow_commands.StartTimer" do
|
40
|
-
optional :seq, :uint32, 1
|
41
|
-
optional :start_to_fire_timeout, :message, 2, "google.protobuf.Duration"
|
42
|
-
end
|
43
|
-
add_message "coresdk.workflow_commands.CancelTimer" do
|
44
|
-
optional :seq, :uint32, 1
|
45
|
-
end
|
46
|
-
add_message "coresdk.workflow_commands.ScheduleActivity" do
|
47
|
-
optional :seq, :uint32, 1
|
48
|
-
optional :activity_id, :string, 2
|
49
|
-
optional :activity_type, :string, 3
|
50
|
-
optional :task_queue, :string, 5
|
51
|
-
map :headers, :string, :message, 6, "temporal.api.common.v1.Payload"
|
52
|
-
repeated :arguments, :message, 7, "temporal.api.common.v1.Payload"
|
53
|
-
optional :schedule_to_close_timeout, :message, 8, "google.protobuf.Duration"
|
54
|
-
optional :schedule_to_start_timeout, :message, 9, "google.protobuf.Duration"
|
55
|
-
optional :start_to_close_timeout, :message, 10, "google.protobuf.Duration"
|
56
|
-
optional :heartbeat_timeout, :message, 11, "google.protobuf.Duration"
|
57
|
-
optional :retry_policy, :message, 12, "temporal.api.common.v1.RetryPolicy"
|
58
|
-
optional :cancellation_type, :enum, 13, "coresdk.workflow_commands.ActivityCancellationType"
|
59
|
-
optional :do_not_eagerly_execute, :bool, 14
|
60
|
-
end
|
61
|
-
add_message "coresdk.workflow_commands.ScheduleLocalActivity" do
|
62
|
-
optional :seq, :uint32, 1
|
63
|
-
optional :activity_id, :string, 2
|
64
|
-
optional :activity_type, :string, 3
|
65
|
-
optional :attempt, :uint32, 4
|
66
|
-
optional :original_schedule_time, :message, 5, "google.protobuf.Timestamp"
|
67
|
-
map :headers, :string, :message, 6, "temporal.api.common.v1.Payload"
|
68
|
-
repeated :arguments, :message, 7, "temporal.api.common.v1.Payload"
|
69
|
-
optional :schedule_to_close_timeout, :message, 8, "google.protobuf.Duration"
|
70
|
-
optional :schedule_to_start_timeout, :message, 9, "google.protobuf.Duration"
|
71
|
-
optional :start_to_close_timeout, :message, 10, "google.protobuf.Duration"
|
72
|
-
optional :retry_policy, :message, 11, "temporal.api.common.v1.RetryPolicy"
|
73
|
-
optional :local_retry_threshold, :message, 12, "google.protobuf.Duration"
|
74
|
-
optional :cancellation_type, :enum, 13, "coresdk.workflow_commands.ActivityCancellationType"
|
75
|
-
end
|
76
|
-
add_message "coresdk.workflow_commands.RequestCancelActivity" do
|
77
|
-
optional :seq, :uint32, 1
|
78
|
-
end
|
79
|
-
add_message "coresdk.workflow_commands.RequestCancelLocalActivity" do
|
80
|
-
optional :seq, :uint32, 1
|
81
|
-
end
|
82
|
-
add_message "coresdk.workflow_commands.QueryResult" do
|
83
|
-
optional :query_id, :string, 1
|
84
|
-
oneof :variant do
|
85
|
-
optional :succeeded, :message, 2, "coresdk.workflow_commands.QuerySuccess"
|
86
|
-
optional :failed, :message, 3, "temporal.api.failure.v1.Failure"
|
87
|
-
end
|
88
|
-
end
|
89
|
-
add_message "coresdk.workflow_commands.QuerySuccess" do
|
90
|
-
optional :response, :message, 1, "temporal.api.common.v1.Payload"
|
91
|
-
end
|
92
|
-
add_message "coresdk.workflow_commands.CompleteWorkflowExecution" do
|
93
|
-
optional :result, :message, 1, "temporal.api.common.v1.Payload"
|
94
|
-
end
|
95
|
-
add_message "coresdk.workflow_commands.FailWorkflowExecution" do
|
96
|
-
optional :failure, :message, 1, "temporal.api.failure.v1.Failure"
|
97
|
-
end
|
98
|
-
add_message "coresdk.workflow_commands.ContinueAsNewWorkflowExecution" do
|
99
|
-
optional :workflow_type, :string, 1
|
100
|
-
optional :task_queue, :string, 2
|
101
|
-
repeated :arguments, :message, 3, "temporal.api.common.v1.Payload"
|
102
|
-
optional :workflow_run_timeout, :message, 4, "google.protobuf.Duration"
|
103
|
-
optional :workflow_task_timeout, :message, 5, "google.protobuf.Duration"
|
104
|
-
map :memo, :string, :message, 6, "temporal.api.common.v1.Payload"
|
105
|
-
map :headers, :string, :message, 7, "temporal.api.common.v1.Payload"
|
106
|
-
map :search_attributes, :string, :message, 8, "temporal.api.common.v1.Payload"
|
107
|
-
optional :retry_policy, :message, 9, "temporal.api.common.v1.RetryPolicy"
|
108
|
-
end
|
109
|
-
add_message "coresdk.workflow_commands.CancelWorkflowExecution" do
|
110
|
-
end
|
111
|
-
add_message "coresdk.workflow_commands.SetPatchMarker" do
|
112
|
-
optional :patch_id, :string, 1
|
113
|
-
optional :deprecated, :bool, 2
|
114
|
-
end
|
115
|
-
add_message "coresdk.workflow_commands.StartChildWorkflowExecution" do
|
116
|
-
optional :seq, :uint32, 1
|
117
|
-
optional :namespace, :string, 2
|
118
|
-
optional :workflow_id, :string, 3
|
119
|
-
optional :workflow_type, :string, 4
|
120
|
-
optional :task_queue, :string, 5
|
121
|
-
repeated :input, :message, 6, "temporal.api.common.v1.Payload"
|
122
|
-
optional :workflow_execution_timeout, :message, 7, "google.protobuf.Duration"
|
123
|
-
optional :workflow_run_timeout, :message, 8, "google.protobuf.Duration"
|
124
|
-
optional :workflow_task_timeout, :message, 9, "google.protobuf.Duration"
|
125
|
-
optional :parent_close_policy, :enum, 10, "coresdk.child_workflow.ParentClosePolicy"
|
126
|
-
optional :workflow_id_reuse_policy, :enum, 12, "temporal.api.enums.v1.WorkflowIdReusePolicy"
|
127
|
-
optional :retry_policy, :message, 13, "temporal.api.common.v1.RetryPolicy"
|
128
|
-
optional :cron_schedule, :string, 14
|
129
|
-
map :headers, :string, :message, 15, "temporal.api.common.v1.Payload"
|
130
|
-
map :memo, :string, :message, 16, "temporal.api.common.v1.Payload"
|
131
|
-
map :search_attributes, :string, :message, 17, "temporal.api.common.v1.Payload"
|
132
|
-
optional :cancellation_type, :enum, 18, "coresdk.child_workflow.ChildWorkflowCancellationType"
|
133
|
-
end
|
134
|
-
add_message "coresdk.workflow_commands.CancelChildWorkflowExecution" do
|
135
|
-
optional :child_workflow_seq, :uint32, 1
|
136
|
-
end
|
137
|
-
add_message "coresdk.workflow_commands.RequestCancelExternalWorkflowExecution" do
|
138
|
-
optional :seq, :uint32, 1
|
139
|
-
oneof :target do
|
140
|
-
optional :workflow_execution, :message, 2, "coresdk.common.NamespacedWorkflowExecution"
|
141
|
-
optional :child_workflow_id, :string, 3
|
142
|
-
end
|
143
|
-
end
|
144
|
-
add_message "coresdk.workflow_commands.SignalExternalWorkflowExecution" do
|
145
|
-
optional :seq, :uint32, 1
|
146
|
-
optional :signal_name, :string, 4
|
147
|
-
repeated :args, :message, 5, "temporal.api.common.v1.Payload"
|
148
|
-
map :headers, :string, :message, 6, "temporal.api.common.v1.Payload"
|
149
|
-
oneof :target do
|
150
|
-
optional :workflow_execution, :message, 2, "coresdk.common.NamespacedWorkflowExecution"
|
151
|
-
optional :child_workflow_id, :string, 3
|
152
|
-
end
|
153
|
-
end
|
154
|
-
add_message "coresdk.workflow_commands.CancelSignalWorkflow" do
|
155
|
-
optional :seq, :uint32, 1
|
156
|
-
end
|
157
|
-
add_message "coresdk.workflow_commands.UpsertWorkflowSearchAttributes" do
|
158
|
-
map :search_attributes, :string, :message, 1, "temporal.api.common.v1.Payload"
|
159
|
-
end
|
160
|
-
add_message "coresdk.workflow_commands.ModifyWorkflowProperties" do
|
161
|
-
optional :upserted_memo, :message, 1, "temporal.api.common.v1.Memo"
|
162
|
-
end
|
163
|
-
add_enum "coresdk.workflow_commands.ActivityCancellationType" do
|
164
|
-
value :TRY_CANCEL, 0
|
165
|
-
value :WAIT_CANCELLATION_COMPLETED, 1
|
166
|
-
value :ABANDON, 2
|
167
|
-
end
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
module Temporalio
|
172
|
-
module Bridge
|
173
|
-
module Api
|
174
|
-
module WorkflowCommands
|
175
|
-
WorkflowCommand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.WorkflowCommand").msgclass
|
176
|
-
StartTimer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.StartTimer").msgclass
|
177
|
-
CancelTimer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.CancelTimer").msgclass
|
178
|
-
ScheduleActivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.ScheduleActivity").msgclass
|
179
|
-
ScheduleLocalActivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.ScheduleLocalActivity").msgclass
|
180
|
-
RequestCancelActivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.RequestCancelActivity").msgclass
|
181
|
-
RequestCancelLocalActivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.RequestCancelLocalActivity").msgclass
|
182
|
-
QueryResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.QueryResult").msgclass
|
183
|
-
QuerySuccess = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.QuerySuccess").msgclass
|
184
|
-
CompleteWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.CompleteWorkflowExecution").msgclass
|
185
|
-
FailWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.FailWorkflowExecution").msgclass
|
186
|
-
ContinueAsNewWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.ContinueAsNewWorkflowExecution").msgclass
|
187
|
-
CancelWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.CancelWorkflowExecution").msgclass
|
188
|
-
SetPatchMarker = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.SetPatchMarker").msgclass
|
189
|
-
StartChildWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.StartChildWorkflowExecution").msgclass
|
190
|
-
CancelChildWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.CancelChildWorkflowExecution").msgclass
|
191
|
-
RequestCancelExternalWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.RequestCancelExternalWorkflowExecution").msgclass
|
192
|
-
SignalExternalWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.SignalExternalWorkflowExecution").msgclass
|
193
|
-
CancelSignalWorkflow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.CancelSignalWorkflow").msgclass
|
194
|
-
UpsertWorkflowSearchAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.UpsertWorkflowSearchAttributes").msgclass
|
195
|
-
ModifyWorkflowProperties = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.ModifyWorkflowProperties").msgclass
|
196
|
-
ActivityCancellationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_commands.ActivityCancellationType").enummodule
|
197
|
-
end
|
198
|
-
end
|
199
|
-
end
|
200
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: temporal/sdk/core/workflow_completion/workflow_completion.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
require 'temporal/api/failure/v1/message_pb'
|
7
|
-
require 'temporal/api/enums/v1/failed_cause_pb'
|
8
|
-
require 'temporal/sdk/core/common/common_pb'
|
9
|
-
require 'temporal/sdk/core/workflow_commands/workflow_commands_pb'
|
10
|
-
|
11
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
12
|
-
add_file("temporal/sdk/core/workflow_completion/workflow_completion.proto", :syntax => :proto3) do
|
13
|
-
add_message "coresdk.workflow_completion.WorkflowActivationCompletion" do
|
14
|
-
optional :run_id, :string, 1
|
15
|
-
oneof :status do
|
16
|
-
optional :successful, :message, 2, "coresdk.workflow_completion.Success"
|
17
|
-
optional :failed, :message, 3, "coresdk.workflow_completion.Failure"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
add_message "coresdk.workflow_completion.Success" do
|
21
|
-
repeated :commands, :message, 1, "coresdk.workflow_commands.WorkflowCommand"
|
22
|
-
repeated :used_internal_flags, :uint32, 6
|
23
|
-
end
|
24
|
-
add_message "coresdk.workflow_completion.Failure" do
|
25
|
-
optional :failure, :message, 1, "temporal.api.failure.v1.Failure"
|
26
|
-
optional :force_cause, :enum, 2, "temporal.api.enums.v1.WorkflowTaskFailedCause"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
module Temporalio
|
32
|
-
module Bridge
|
33
|
-
module Api
|
34
|
-
module WorkflowCompletion
|
35
|
-
WorkflowActivationCompletion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_completion.WorkflowActivationCompletion").msgclass
|
36
|
-
Success = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_completion.Success").msgclass
|
37
|
-
Failure = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.workflow_completion.Failure").msgclass
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Temporalio
|
2
|
-
module Bridge
|
3
|
-
class ConnectOptions
|
4
|
-
attr_reader :url, :tls, :client_version, :metadata, :retry_config
|
5
|
-
|
6
|
-
def initialize(url:, tls:, client_version:, metadata:, retry_config:)
|
7
|
-
@url = url
|
8
|
-
@tls = tls
|
9
|
-
@metadata = metadata
|
10
|
-
@retry_config = retry_config
|
11
|
-
@client_version = client_version
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Temporalio
|
2
|
-
module Bridge
|
3
|
-
class RetryConfig
|
4
|
-
attr_reader :initial_interval_millis, :randomization_factor, :multiplier,
|
5
|
-
:max_interval_millis, :max_elapsed_time_millis, :max_retries
|
6
|
-
|
7
|
-
def initialize(
|
8
|
-
initial_interval_millis:,
|
9
|
-
randomization_factor:,
|
10
|
-
multiplier:,
|
11
|
-
max_interval_millis:,
|
12
|
-
max_retries:,
|
13
|
-
max_elapsed_time_millis:
|
14
|
-
)
|
15
|
-
@initial_interval_millis = initial_interval_millis
|
16
|
-
@randomization_factor = randomization_factor
|
17
|
-
@multiplier = multiplier
|
18
|
-
@max_interval_millis = max_interval_millis
|
19
|
-
@max_retries = max_retries
|
20
|
-
@max_elapsed_time_millis = max_elapsed_time_millis
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Temporalio
|
2
|
-
module Bridge
|
3
|
-
class TlsOptions
|
4
|
-
attr_reader :server_root_ca_cert, :client_cert, :client_private_key, :server_name_override
|
5
|
-
|
6
|
-
def initialize(
|
7
|
-
server_root_ca_cert:,
|
8
|
-
client_cert:,
|
9
|
-
client_private_key:,
|
10
|
-
server_name_override:
|
11
|
-
)
|
12
|
-
@server_root_ca_cert = server_root_ca_cert
|
13
|
-
@client_cert = client_cert
|
14
|
-
@client_private_key = client_private_key
|
15
|
-
@server_name_override = server_name_override
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/temporalio/bridge.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'rutie'
|
2
|
-
require 'temporalio/bridge/error'
|
3
|
-
|
4
|
-
# RBS: for some reason __dir__ has a type of (String | nil)
|
5
|
-
BRIDGE_DIR = File.expand_path('..', __dir__ || '.')
|
6
|
-
|
7
|
-
module Temporalio
|
8
|
-
# @api private
|
9
|
-
module Bridge
|
10
|
-
Rutie
|
11
|
-
.new(:bridge, lib_path: '', lib_suffix: 'so', lib_prefix: '')
|
12
|
-
.init('init_bridge', BRIDGE_DIR)
|
13
|
-
end
|
14
|
-
end
|
@@ -1,340 +0,0 @@
|
|
1
|
-
require 'socket'
|
2
|
-
require 'temporal/api/workflowservice/v1/request_response_pb'
|
3
|
-
require 'temporalio/client/workflow_handle'
|
4
|
-
require 'temporalio/error/failure'
|
5
|
-
require 'temporalio/error/workflow_failure'
|
6
|
-
require 'temporalio/interceptor/chain'
|
7
|
-
require 'temporalio/timeout_type'
|
8
|
-
require 'temporalio/version'
|
9
|
-
require 'temporalio/workflow/execution_info'
|
10
|
-
require 'temporalio/workflow/id_reuse_policy'
|
11
|
-
require 'temporalio/workflow/query_reject_condition'
|
12
|
-
|
13
|
-
module Temporalio
|
14
|
-
class Client
|
15
|
-
# @api private
|
16
|
-
class Implementation
|
17
|
-
def initialize(connection, namespace, converter, interceptors)
|
18
|
-
@connection = connection
|
19
|
-
@namespace = namespace
|
20
|
-
@converter = converter
|
21
|
-
@interceptor_chain = Interceptor::Chain.new(interceptors)
|
22
|
-
@identity = "#{Process.pid}@#{Socket.gethostname} (Ruby SDK v#{VERSION})"
|
23
|
-
end
|
24
|
-
|
25
|
-
def start_workflow(input)
|
26
|
-
interceptor_chain.invoke(:start_workflow, input) do |i|
|
27
|
-
handle_start_workflow(i)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def describe_workflow(input)
|
32
|
-
interceptor_chain.invoke(:describe_workflow, input) do |i|
|
33
|
-
handle_describe_workflow(i)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def query_workflow(input)
|
38
|
-
interceptor_chain.invoke(:query_workflow, input) do |i|
|
39
|
-
handle_query_workflow(i)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def signal_workflow(input)
|
44
|
-
interceptor_chain.invoke(:signal_workflow, input) do |i|
|
45
|
-
handle_signal_workflow(i)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def cancel_workflow(input)
|
50
|
-
interceptor_chain.invoke(:cancel_workflow, input) do |i|
|
51
|
-
handle_cancel_workflow(i)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
def terminate_workflow(input)
|
56
|
-
interceptor_chain.invoke(:terminate_workflow, input) do |i|
|
57
|
-
handle_terminate_workflow(i)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def await_workflow_result(id, run_id, follow_runs, rpc_metadata, rpc_timeout)
|
62
|
-
rpc_params = { metadata: rpc_metadata, timeout: rpc_timeout }
|
63
|
-
request = Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest.new(
|
64
|
-
namespace: namespace.to_s,
|
65
|
-
execution: Temporalio::Api::Common::V1::WorkflowExecution.new(
|
66
|
-
workflow_id: id,
|
67
|
-
run_id: run_id || '',
|
68
|
-
),
|
69
|
-
history_event_filter_type:
|
70
|
-
Temporalio::Api::Enums::V1::HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT,
|
71
|
-
wait_new_event: true,
|
72
|
-
skip_archival: true,
|
73
|
-
)
|
74
|
-
|
75
|
-
loop do
|
76
|
-
response = connection.workflow_service.get_workflow_execution_history(request, **rpc_params)
|
77
|
-
next_run_id = catch(:next) do
|
78
|
-
# this will return out of the loop only if :next wasn't thrown
|
79
|
-
return process_workflow_result_from(response, follow_runs)
|
80
|
-
end
|
81
|
-
request.execution&.run_id = next_run_id if next_run_id
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
private
|
86
|
-
|
87
|
-
attr_reader :connection, :namespace, :converter, :interceptor_chain, :identity
|
88
|
-
|
89
|
-
def convert_headers(headers)
|
90
|
-
return if headers.empty?
|
91
|
-
|
92
|
-
Temporalio::Api::Common::V1::Header.new(
|
93
|
-
fields: converter.to_payload_map(headers),
|
94
|
-
)
|
95
|
-
end
|
96
|
-
|
97
|
-
def handle_start_workflow(input)
|
98
|
-
input.retry_policy&.validate!
|
99
|
-
|
100
|
-
if input.memo
|
101
|
-
memo = Temporalio::Api::Common::V1::Memo.new(fields: converter.to_payload_map(input.memo))
|
102
|
-
end
|
103
|
-
|
104
|
-
if input.search_attributes
|
105
|
-
search_attributes = Temporalio::Api::Common::V1::SearchAttributes.new(
|
106
|
-
indexed_fields: converter.to_payload_map(input.search_attributes),
|
107
|
-
)
|
108
|
-
end
|
109
|
-
|
110
|
-
rpc_params = { metadata: input.rpc_metadata, timeout: input.rpc_timeout }
|
111
|
-
params = {
|
112
|
-
identity: identity,
|
113
|
-
request_id: SecureRandom.uuid,
|
114
|
-
namespace: namespace,
|
115
|
-
workflow_type: Temporalio::Api::Common::V1::WorkflowType.new(name: input.workflow.to_s),
|
116
|
-
workflow_id: input.id,
|
117
|
-
task_queue: Temporalio::Api::TaskQueue::V1::TaskQueue.new(name: input.task_queue.to_s),
|
118
|
-
input: converter.to_payloads(input.args),
|
119
|
-
workflow_execution_timeout: input.execution_timeout,
|
120
|
-
workflow_run_timeout: input.run_timeout,
|
121
|
-
workflow_task_timeout: input.task_timeout,
|
122
|
-
workflow_id_reuse_policy: Workflow::IDReusePolicy.to_raw(input.id_reuse_policy),
|
123
|
-
retry_policy: input.retry_policy&.to_proto,
|
124
|
-
cron_schedule: input.cron_schedule,
|
125
|
-
memo: memo,
|
126
|
-
search_attributes: search_attributes,
|
127
|
-
header: convert_headers(input.headers),
|
128
|
-
}
|
129
|
-
|
130
|
-
first_execution_run_id = nil
|
131
|
-
if input.start_signal
|
132
|
-
params.merge!(
|
133
|
-
signal_name: input.start_signal,
|
134
|
-
signal_input: converter.to_payloads(input.start_signal_args),
|
135
|
-
)
|
136
|
-
|
137
|
-
klass = Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest
|
138
|
-
request = klass.new(**params)
|
139
|
-
|
140
|
-
response = connection.workflow_service.signal_with_start_workflow_execution(request, **rpc_params)
|
141
|
-
else
|
142
|
-
klass = Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest
|
143
|
-
request = klass.new(**params)
|
144
|
-
|
145
|
-
response = connection.workflow_service.start_workflow_execution(request, **rpc_params)
|
146
|
-
first_execution_run_id = response.run_id
|
147
|
-
end
|
148
|
-
|
149
|
-
Client::WorkflowHandle.new(
|
150
|
-
self,
|
151
|
-
input.id,
|
152
|
-
result_run_id: response.run_id,
|
153
|
-
first_execution_run_id: first_execution_run_id,
|
154
|
-
)
|
155
|
-
rescue Temporalio::Bridge::Error => e
|
156
|
-
# TODO: Raise a better error from the bridge
|
157
|
-
if e.message.include?('AlreadyExists')
|
158
|
-
raise Temporalio::Error::WorkflowExecutionAlreadyStarted, 'Workflow execution already started'
|
159
|
-
else
|
160
|
-
raise # re-raise
|
161
|
-
end
|
162
|
-
end
|
163
|
-
|
164
|
-
def handle_describe_workflow(input)
|
165
|
-
rpc_params = { metadata: input.rpc_metadata, timeout: input.rpc_timeout }
|
166
|
-
request = Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest.new(
|
167
|
-
namespace: namespace.to_s,
|
168
|
-
execution: Temporalio::Api::Common::V1::WorkflowExecution.new(
|
169
|
-
workflow_id: input.id,
|
170
|
-
run_id: input.run_id || '',
|
171
|
-
),
|
172
|
-
)
|
173
|
-
|
174
|
-
response = connection.workflow_service.describe_workflow_execution(request, **rpc_params)
|
175
|
-
|
176
|
-
Workflow::ExecutionInfo.from_raw(response, converter)
|
177
|
-
end
|
178
|
-
|
179
|
-
def handle_query_workflow(input)
|
180
|
-
rpc_params = { metadata: input.rpc_metadata, timeout: input.rpc_timeout }
|
181
|
-
request = Temporalio::Api::WorkflowService::V1::QueryWorkflowRequest.new(
|
182
|
-
namespace: namespace.to_s,
|
183
|
-
execution: Temporalio::Api::Common::V1::WorkflowExecution.new(
|
184
|
-
workflow_id: input.id,
|
185
|
-
run_id: input.run_id,
|
186
|
-
),
|
187
|
-
query: Temporalio::Api::Query::V1::WorkflowQuery.new(
|
188
|
-
query_type: input.query.to_s,
|
189
|
-
query_args: converter.to_payloads(input.args),
|
190
|
-
header: convert_headers(input.headers),
|
191
|
-
),
|
192
|
-
query_reject_condition: Workflow::QueryRejectCondition.to_raw(input.reject_condition),
|
193
|
-
)
|
194
|
-
|
195
|
-
response = connection.workflow_service.query_workflow(request, **rpc_params)
|
196
|
-
|
197
|
-
if response.query_rejected
|
198
|
-
status = Workflow::ExecutionStatus.from_raw(response.query_rejected.status)
|
199
|
-
raise Temporalio::Error::QueryRejected, status
|
200
|
-
end
|
201
|
-
|
202
|
-
converter.from_payloads(response.query_result)&.first
|
203
|
-
rescue Temporalio::Bridge::Error => e
|
204
|
-
# TODO: Raise a better error from the bridge
|
205
|
-
raise Temporalio::Error::QueryFailed, e.message
|
206
|
-
end
|
207
|
-
|
208
|
-
def handle_signal_workflow(input)
|
209
|
-
rpc_params = { metadata: input.rpc_metadata, timeout: input.rpc_timeout }
|
210
|
-
request = Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionRequest.new(
|
211
|
-
identity: identity,
|
212
|
-
request_id: SecureRandom.uuid,
|
213
|
-
namespace: namespace.to_s,
|
214
|
-
workflow_execution: Temporalio::Api::Common::V1::WorkflowExecution.new(
|
215
|
-
workflow_id: input.id,
|
216
|
-
run_id: input.run_id || '',
|
217
|
-
),
|
218
|
-
signal_name: input.signal.to_s,
|
219
|
-
input: converter.to_payloads(input.args),
|
220
|
-
header: convert_headers(input.headers),
|
221
|
-
)
|
222
|
-
|
223
|
-
connection.workflow_service.signal_workflow_execution(request, **rpc_params)
|
224
|
-
|
225
|
-
return
|
226
|
-
end
|
227
|
-
|
228
|
-
def handle_cancel_workflow(input)
|
229
|
-
rpc_params = { metadata: input.rpc_metadata, timeout: input.rpc_timeout }
|
230
|
-
request = Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest.new(
|
231
|
-
identity: identity,
|
232
|
-
request_id: SecureRandom.uuid,
|
233
|
-
namespace: namespace.to_s,
|
234
|
-
workflow_execution: Temporalio::Api::Common::V1::WorkflowExecution.new(
|
235
|
-
workflow_id: input.id,
|
236
|
-
run_id: input.run_id || '',
|
237
|
-
),
|
238
|
-
first_execution_run_id: input.first_execution_run_id || '',
|
239
|
-
reason: input.reason,
|
240
|
-
)
|
241
|
-
|
242
|
-
connection.workflow_service.request_cancel_workflow_execution(request, **rpc_params)
|
243
|
-
|
244
|
-
return
|
245
|
-
end
|
246
|
-
|
247
|
-
def handle_terminate_workflow(input)
|
248
|
-
rpc_params = { metadata: input.rpc_metadata, timeout: input.rpc_timeout }
|
249
|
-
request = Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest.new(
|
250
|
-
identity: identity,
|
251
|
-
namespace: namespace.to_s,
|
252
|
-
workflow_execution: Temporalio::Api::Common::V1::WorkflowExecution.new(
|
253
|
-
workflow_id: input.id,
|
254
|
-
run_id: input.run_id || '',
|
255
|
-
),
|
256
|
-
first_execution_run_id: input.first_execution_run_id || '',
|
257
|
-
reason: input.reason,
|
258
|
-
details: converter.to_payloads(input.args),
|
259
|
-
)
|
260
|
-
|
261
|
-
connection.workflow_service.terminate_workflow_execution(request, **rpc_params)
|
262
|
-
|
263
|
-
return
|
264
|
-
end
|
265
|
-
|
266
|
-
def process_workflow_result_from(response, follow_runs)
|
267
|
-
events = response.history&.events
|
268
|
-
|
269
|
-
if !events || events.empty?
|
270
|
-
throw(:next, nil) # next loop, same run_id
|
271
|
-
elsif events.length != 1
|
272
|
-
raise Temporalio::Error, "Expected single close event, got #{events.length}"
|
273
|
-
end
|
274
|
-
|
275
|
-
event = events.first
|
276
|
-
raise Temporalio::Error::UnexpectedResponse, 'Missing final history event' unless event
|
277
|
-
|
278
|
-
case event.event_type
|
279
|
-
when :EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
|
280
|
-
attributes = event.workflow_execution_completed_event_attributes
|
281
|
-
follow(attributes&.new_execution_run_id) if follow_runs
|
282
|
-
|
283
|
-
# TODO: Handle incorrect payloads object
|
284
|
-
return converter.from_payloads(attributes&.result)&.first
|
285
|
-
|
286
|
-
when :EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
|
287
|
-
attributes = event.workflow_execution_failed_event_attributes
|
288
|
-
follow(attributes&.new_execution_run_id) if follow_runs
|
289
|
-
|
290
|
-
raise Temporalio::Error::WorkflowFailure.new(
|
291
|
-
cause: converter.from_failure(attributes&.failure),
|
292
|
-
)
|
293
|
-
|
294
|
-
when :EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
|
295
|
-
attributes = event.workflow_execution_canceled_event_attributes
|
296
|
-
|
297
|
-
raise Temporalio::Error::WorkflowFailure.new(
|
298
|
-
cause: Temporalio::Error::CancelledError.new(
|
299
|
-
'Workflow execution cancelled',
|
300
|
-
details: converter.from_payloads(attributes&.details),
|
301
|
-
),
|
302
|
-
)
|
303
|
-
|
304
|
-
when :EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED
|
305
|
-
attributes = event.workflow_execution_terminated_event_attributes
|
306
|
-
|
307
|
-
raise Temporalio::Error::WorkflowFailure.new(
|
308
|
-
cause: Temporalio::Error::TerminatedError.new(
|
309
|
-
attributes&.reason || 'Workflow execution terminated',
|
310
|
-
),
|
311
|
-
)
|
312
|
-
|
313
|
-
when :EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT
|
314
|
-
attributes = event.workflow_execution_timed_out_event_attributes
|
315
|
-
follow(attributes&.new_execution_run_id) if follow_runs
|
316
|
-
|
317
|
-
raise Temporalio::Error::WorkflowFailure.new(
|
318
|
-
cause: Temporalio::Error::TimeoutError.new(
|
319
|
-
'Workflow execution timed out',
|
320
|
-
type: Temporalio::TimeoutType::START_TO_CLOSE,
|
321
|
-
),
|
322
|
-
)
|
323
|
-
|
324
|
-
when :EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
|
325
|
-
attributes = event.workflow_execution_continued_as_new_event_attributes
|
326
|
-
follow(attributes&.new_execution_run_id) if follow_runs
|
327
|
-
|
328
|
-
# TODO: Use more specific error and decode failure
|
329
|
-
raise Temporalio::Error, 'Workflow execution continued as new'
|
330
|
-
end
|
331
|
-
end
|
332
|
-
|
333
|
-
def follow(new_run_id)
|
334
|
-
return if !new_run_id || new_run_id.empty?
|
335
|
-
|
336
|
-
throw(:next, new_run_id) # next loop with a new run_id
|
337
|
-
end
|
338
|
-
end
|
339
|
-
end
|
340
|
-
end
|