temporalio 0.0.2 → 0.1.1
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/README.md +25 -23
- data/bridge/Cargo.lock +185 -76
- data/bridge/Cargo.toml +6 -4
- data/bridge/sdk-core/README.md +19 -6
- data/bridge/sdk-core/client/src/lib.rs +215 -39
- data/bridge/sdk-core/client/src/metrics.rs +17 -8
- data/bridge/sdk-core/client/src/raw.rs +4 -4
- data/bridge/sdk-core/client/src/retry.rs +32 -20
- data/bridge/sdk-core/core/Cargo.toml +22 -9
- data/bridge/sdk-core/core/src/abstractions.rs +203 -14
- data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +76 -41
- data/bridge/sdk-core/core/src/core_tests/determinism.rs +165 -2
- data/bridge/sdk-core/core/src/core_tests/local_activities.rs +204 -83
- data/bridge/sdk-core/core/src/core_tests/queries.rs +3 -4
- data/bridge/sdk-core/core/src/core_tests/workers.rs +1 -3
- data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +397 -54
- data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +106 -12
- data/bridge/sdk-core/core/src/internal_flags.rs +136 -0
- data/bridge/sdk-core/core/src/lib.rs +16 -9
- data/bridge/sdk-core/core/src/telemetry/log_export.rs +1 -1
- data/bridge/sdk-core/core/src/telemetry/metrics.rs +69 -35
- data/bridge/sdk-core/core/src/telemetry/mod.rs +29 -13
- data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +17 -12
- data/bridge/sdk-core/core/src/test_help/mod.rs +62 -12
- data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +112 -156
- data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +89 -0
- data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +352 -122
- data/bridge/sdk-core/core/src/worker/activities.rs +233 -157
- data/bridge/sdk-core/core/src/worker/client/mocks.rs +22 -2
- data/bridge/sdk-core/core/src/worker/client.rs +18 -2
- data/bridge/sdk-core/core/src/worker/mod.rs +165 -58
- data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +1 -3
- data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +3 -5
- data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +856 -277
- data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +100 -43
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +7 -7
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +5 -4
- data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +87 -27
- data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +5 -4
- data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +5 -4
- data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +5 -4
- data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +137 -62
- data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +25 -17
- data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +7 -6
- data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +103 -152
- data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +7 -7
- data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +9 -9
- data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +2 -2
- data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +14 -7
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +5 -16
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +201 -121
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +11 -14
- data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +30 -15
- data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +1026 -376
- data/bridge/sdk-core/core/src/worker/workflow/mod.rs +460 -384
- data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +40 -57
- data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +125 -0
- data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +1 -4
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +117 -0
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +24 -0
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +448 -718
- data/bridge/sdk-core/core-api/Cargo.toml +2 -1
- data/bridge/sdk-core/core-api/src/errors.rs +1 -34
- data/bridge/sdk-core/core-api/src/lib.rs +6 -2
- data/bridge/sdk-core/core-api/src/telemetry.rs +0 -6
- data/bridge/sdk-core/core-api/src/worker.rs +14 -1
- data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +18 -15
- data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +8 -3
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +5 -17
- data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +11 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +1 -6
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +6 -6
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +5 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +22 -6
- data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +48 -19
- data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +2 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +3 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/{enums/v1/interaction_type.proto → protocol/v1/message.proto} +29 -11
- data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +63 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +111 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +59 -28
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +2 -2
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +7 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +6 -0
- data/bridge/sdk-core/sdk/Cargo.toml +3 -2
- data/bridge/sdk-core/sdk/src/lib.rs +87 -20
- data/bridge/sdk-core/sdk/src/workflow_future.rs +9 -8
- data/bridge/sdk-core/sdk-core-protos/Cargo.toml +5 -2
- data/bridge/sdk-core/sdk-core-protos/build.rs +36 -1
- data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +100 -87
- data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +5 -1
- data/bridge/sdk-core/sdk-core-protos/src/lib.rs +175 -57
- data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +12 -2
- data/bridge/sdk-core/test-utils/Cargo.toml +3 -1
- data/bridge/sdk-core/test-utils/src/canned_histories.rs +106 -296
- data/bridge/sdk-core/test-utils/src/histfetch.rs +1 -1
- data/bridge/sdk-core/test-utils/src/lib.rs +82 -23
- data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +50 -0
- data/bridge/sdk-core/test-utils/src/workflows.rs +29 -0
- data/bridge/sdk-core/tests/fuzzy_workflow.rs +130 -0
- data/bridge/sdk-core/tests/{load_tests.rs → heavy_tests.rs} +125 -51
- data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +25 -3
- data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +5 -3
- data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +218 -16
- data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +4 -47
- data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +5 -128
- data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +83 -25
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +93 -69
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +6 -13
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +6 -2
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +3 -10
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +72 -191
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +7 -28
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +12 -7
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +18 -14
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +6 -20
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +10 -21
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +6 -4
- data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +10 -11
- data/bridge/sdk-core/tests/main.rs +3 -13
- data/bridge/sdk-core/tests/runner.rs +75 -36
- data/bridge/sdk-core/tests/wf_input_replay.rs +32 -0
- data/bridge/src/connection.rs +41 -25
- data/bridge/src/lib.rs +269 -14
- data/bridge/src/runtime.rs +1 -1
- data/bridge/src/test_server.rs +153 -0
- data/bridge/src/worker.rs +89 -16
- data/lib/gen/temporal/api/command/v1/message_pb.rb +4 -18
- data/lib/gen/temporal/api/common/v1/message_pb.rb +4 -0
- data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +1 -3
- data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +3 -3
- data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +2 -0
- data/lib/gen/temporal/api/enums/v1/update_pb.rb +6 -4
- data/lib/gen/temporal/api/history/v1/message_pb.rb +27 -19
- data/lib/gen/temporal/api/namespace/v1/message_pb.rb +1 -0
- data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +3 -0
- data/lib/gen/temporal/api/protocol/v1/message_pb.rb +30 -0
- data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +23 -0
- data/lib/gen/temporal/api/testservice/v1/request_response_pb.rb +49 -0
- data/lib/gen/temporal/api/testservice/v1/service_pb.rb +21 -0
- data/lib/gen/temporal/api/update/v1/message_pb.rb +72 -0
- data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +26 -16
- data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +13 -9
- data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +10 -6
- data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +13 -9
- data/lib/gen/temporal/sdk/core/common/common_pb.rb +7 -3
- data/lib/gen/temporal/sdk/core/core_interface_pb.rb +9 -3
- data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +7 -3
- data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +27 -21
- data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +28 -24
- data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +12 -5
- data/lib/temporalio/activity/context.rb +13 -8
- data/lib/temporalio/activity/info.rb +1 -1
- data/lib/temporalio/bridge/connect_options.rb +15 -0
- data/lib/temporalio/bridge/retry_config.rb +24 -0
- data/lib/temporalio/bridge/tls_options.rb +19 -0
- data/lib/temporalio/bridge.rb +1 -1
- data/lib/temporalio/client/implementation.rb +8 -8
- data/lib/temporalio/connection/retry_config.rb +44 -0
- data/lib/temporalio/connection/service.rb +20 -0
- data/lib/temporalio/connection/test_service.rb +92 -0
- data/lib/temporalio/connection/tls_options.rb +51 -0
- data/lib/temporalio/connection/workflow_service.rb +731 -0
- data/lib/temporalio/connection.rb +55 -720
- data/lib/temporalio/interceptor/activity_inbound.rb +22 -0
- data/lib/temporalio/interceptor/activity_outbound.rb +24 -0
- data/lib/temporalio/interceptor/chain.rb +5 -5
- data/lib/temporalio/interceptor/client.rb +8 -4
- data/lib/temporalio/interceptor.rb +22 -0
- data/lib/temporalio/retry_policy.rb +13 -3
- data/lib/temporalio/testing/time_skipping_handle.rb +32 -0
- data/lib/temporalio/testing/time_skipping_interceptor.rb +23 -0
- data/lib/temporalio/testing/workflow_environment.rb +112 -0
- data/lib/temporalio/testing.rb +175 -0
- data/lib/temporalio/version.rb +1 -1
- data/lib/temporalio/worker/activity_runner.rb +26 -4
- data/lib/temporalio/worker/activity_worker.rb +44 -18
- data/lib/temporalio/worker/sync_worker.rb +47 -11
- data/lib/temporalio/worker.rb +27 -21
- data/lib/temporalio/workflow/async.rb +46 -0
- data/lib/temporalio/workflow/future.rb +138 -0
- data/lib/temporalio/workflow/info.rb +76 -0
- data/lib/thermite_patch.rb +10 -0
- data/sig/async.rbs +17 -0
- data/sig/protobuf.rbs +16 -0
- data/sig/protos/dependencies/gogoproto/gogo.rbs +914 -0
- data/sig/protos/google/protobuf/any.rbs +157 -0
- data/sig/protos/google/protobuf/descriptor.rbs +2825 -0
- data/sig/protos/google/protobuf/duration.rbs +114 -0
- data/sig/protos/google/protobuf/empty.rbs +36 -0
- data/sig/protos/google/protobuf/timestamp.rbs +145 -0
- data/sig/protos/google/protobuf/wrappers.rbs +358 -0
- data/sig/protos/temporal/api/batch/v1/message.rbs +300 -0
- data/sig/protos/temporal/api/command/v1/message.rbs +1399 -0
- data/sig/protos/temporal/api/common/v1/message.rbs +528 -0
- data/sig/protos/temporal/api/enums/v1/batch_operation.rbs +79 -0
- data/sig/protos/temporal/api/enums/v1/command_type.rbs +68 -0
- data/sig/protos/temporal/api/enums/v1/common.rbs +118 -0
- data/sig/protos/temporal/api/enums/v1/event_type.rbs +264 -0
- data/sig/protos/temporal/api/enums/v1/failed_cause.rbs +277 -0
- data/sig/protos/temporal/api/enums/v1/namespace.rbs +108 -0
- data/sig/protos/temporal/api/enums/v1/query.rbs +81 -0
- data/sig/protos/temporal/api/enums/v1/reset.rbs +44 -0
- data/sig/protos/temporal/api/enums/v1/schedule.rbs +72 -0
- data/sig/protos/temporal/api/enums/v1/task_queue.rbs +92 -0
- data/sig/protos/temporal/api/enums/v1/update.rbs +64 -0
- data/sig/protos/temporal/api/enums/v1/workflow.rbs +371 -0
- data/sig/protos/temporal/api/errordetails/v1/message.rbs +551 -0
- data/sig/protos/temporal/api/failure/v1/message.rbs +581 -0
- data/sig/protos/temporal/api/filter/v1/message.rbs +171 -0
- data/sig/protos/temporal/api/history/v1/message.rbs +4609 -0
- data/sig/protos/temporal/api/namespace/v1/message.rbs +410 -0
- data/sig/protos/temporal/api/operatorservice/v1/request_response.rbs +643 -0
- data/sig/protos/temporal/api/operatorservice/v1/service.rbs +17 -0
- data/sig/protos/temporal/api/protocol/v1/message.rbs +84 -0
- data/sig/protos/temporal/api/query/v1/message.rbs +182 -0
- data/sig/protos/temporal/api/replication/v1/message.rbs +148 -0
- data/sig/protos/temporal/api/schedule/v1/message.rbs +1488 -0
- data/sig/protos/temporal/api/sdk/v1/task_complete_metadata.rbs +110 -0
- data/sig/protos/temporal/api/taskqueue/v1/message.rbs +486 -0
- data/sig/protos/temporal/api/testservice/v1/request_response.rbs +249 -0
- data/sig/protos/temporal/api/testservice/v1/service.rbs +15 -0
- data/sig/protos/temporal/api/update/v1/message.rbs +489 -0
- data/sig/protos/temporal/api/version/v1/message.rbs +184 -0
- data/sig/protos/temporal/api/workflow/v1/message.rbs +824 -0
- data/sig/protos/temporal/api/workflowservice/v1/request_response.rbs +7250 -0
- data/sig/protos/temporal/api/workflowservice/v1/service.rbs +22 -0
- data/sig/protos/temporal/sdk/core/activity_result/activity_result.rbs +380 -0
- data/sig/protos/temporal/sdk/core/activity_task/activity_task.rbs +386 -0
- data/sig/protos/temporal/sdk/core/child_workflow/child_workflow.rbs +323 -0
- data/sig/protos/temporal/sdk/core/common/common.rbs +62 -0
- data/sig/protos/temporal/sdk/core/core_interface.rbs +101 -0
- data/sig/protos/temporal/sdk/core/external_data/external_data.rbs +119 -0
- data/sig/protos/temporal/sdk/core/workflow_activation/workflow_activation.rbs +1473 -0
- data/sig/protos/temporal/sdk/core/workflow_commands/workflow_commands.rbs +1784 -0
- data/sig/protos/temporal/sdk/core/workflow_completion/workflow_completion.rbs +180 -0
- data/sig/ruby.rbs +12 -0
- data/sig/temporalio/activity/context.rbs +29 -0
- data/sig/temporalio/activity/info.rbs +43 -0
- data/sig/temporalio/activity.rbs +19 -0
- data/sig/temporalio/bridge/connect_options.rbs +19 -0
- data/sig/temporalio/bridge/error.rbs +8 -0
- data/sig/temporalio/bridge/retry_config.rbs +21 -0
- data/sig/temporalio/bridge/tls_options.rbs +17 -0
- data/sig/temporalio/bridge.rbs +71 -0
- data/sig/temporalio/client/implementation.rbs +38 -0
- data/sig/temporalio/client/workflow_handle.rbs +41 -0
- data/sig/temporalio/client.rbs +35 -0
- data/sig/temporalio/connection/retry_config.rbs +37 -0
- data/sig/temporalio/connection/service.rbs +14 -0
- data/sig/temporalio/connection/test_service.rbs +13 -0
- data/sig/temporalio/connection/tls_options.rbs +43 -0
- data/sig/temporalio/connection/workflow_service.rbs +48 -0
- data/sig/temporalio/connection.rbs +30 -0
- data/sig/temporalio/data_converter.rbs +35 -0
- data/sig/temporalio/error/failure.rbs +121 -0
- data/sig/temporalio/error/workflow_failure.rbs +9 -0
- data/sig/temporalio/errors.rbs +36 -0
- data/sig/temporalio/failure_converter/base.rbs +12 -0
- data/sig/temporalio/failure_converter/basic.rbs +86 -0
- data/sig/temporalio/failure_converter.rbs +5 -0
- data/sig/temporalio/interceptor/activity_inbound.rbs +21 -0
- data/sig/temporalio/interceptor/activity_outbound.rbs +10 -0
- data/sig/temporalio/interceptor/chain.rbs +24 -0
- data/sig/temporalio/interceptor/client.rbs +148 -0
- data/sig/temporalio/interceptor.rbs +6 -0
- data/sig/temporalio/payload_codec/base.rbs +12 -0
- data/sig/temporalio/payload_converter/base.rbs +12 -0
- data/sig/temporalio/payload_converter/bytes.rbs +9 -0
- data/sig/temporalio/payload_converter/composite.rbs +19 -0
- data/sig/temporalio/payload_converter/encoding_base.rbs +14 -0
- data/sig/temporalio/payload_converter/json.rbs +9 -0
- data/sig/temporalio/payload_converter/nil.rbs +9 -0
- data/sig/temporalio/payload_converter.rbs +5 -0
- data/sig/temporalio/retry_policy.rbs +25 -0
- data/sig/temporalio/retry_state.rbs +20 -0
- data/sig/temporalio/runtime.rbs +12 -0
- data/sig/temporalio/testing/time_skipping_handle.rbs +15 -0
- data/sig/temporalio/testing/time_skipping_interceptor.rbs +13 -0
- data/sig/temporalio/testing/workflow_environment.rbs +22 -0
- data/sig/temporalio/testing.rbs +35 -0
- data/sig/temporalio/timeout_type.rbs +15 -0
- data/sig/temporalio/version.rbs +3 -0
- data/sig/temporalio/worker/activity_runner.rbs +35 -0
- data/sig/temporalio/worker/activity_worker.rbs +44 -0
- data/sig/temporalio/worker/reactor.rbs +22 -0
- data/sig/temporalio/worker/runner.rbs +21 -0
- data/sig/temporalio/worker/sync_worker.rbs +23 -0
- data/sig/temporalio/worker/thread_pool_executor.rbs +23 -0
- data/sig/temporalio/worker.rbs +46 -0
- data/sig/temporalio/workflow/async.rbs +9 -0
- data/sig/temporalio/workflow/execution_info.rbs +55 -0
- data/sig/temporalio/workflow/execution_status.rbs +21 -0
- data/sig/temporalio/workflow/future.rbs +40 -0
- data/sig/temporalio/workflow/id_reuse_policy.rbs +15 -0
- data/sig/temporalio/workflow/info.rbs +55 -0
- data/sig/temporalio/workflow/query_reject_condition.rbs +14 -0
- data/sig/temporalio.rbs +2 -0
- data/sig/thermite_patch.rbs +15 -0
- data/temporalio.gemspec +6 -4
- metadata +183 -17
- data/bridge/sdk-core/Cargo.lock +0 -2606
- data/bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto +0 -87
- data/lib/bridge.so +0 -0
- data/lib/gen/temporal/api/enums/v1/interaction_type_pb.rb +0 -25
- data/lib/gen/temporal/api/interaction/v1/message_pb.rb +0 -49
- data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +0 -222
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7b66a076a009147a66ed59c5220287ce676fc556f7ebcbf133cd326a36cdde98
|
|
4
|
+
data.tar.gz: 36f9c733d6d07e92e3afafe14a3d96141d5cfd3b539cb67232eb0e1df7674d82
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b4a85294be411f8dc7e5aee0970541169b5b5abc4323c55183f630be5a9e5727759e7898bf245ff1e7148d91403ac7d83813a3980a19a61ea50a61da15487680
|
|
7
|
+
data.tar.gz: 8d339cca13baae36ed45ec58d5023f2809afb956edbca61144e8ecde0021b0ba439378f92862cd46c75a39d11ac7b41bdc4b32162687fcef45cc640a7e8a464a
|
data/README.md
CHANGED
|
@@ -21,7 +21,6 @@ At this point the SDK only supports the **Temporal Client** capabilities:
|
|
|
21
21
|
- Interacting with a workflow (cancelling, querying, signalling, etc)
|
|
22
22
|
- Interceptor and Data Conversion support
|
|
23
23
|
- gRPC access to Temporal Server
|
|
24
|
-
- Temporal Cloud is not yet supported due to the lack of TLS support, but it's coming soon
|
|
25
24
|
|
|
26
25
|
As well as **Activity Worker** capabilities:
|
|
27
26
|
|
|
@@ -43,7 +42,6 @@ The SDK is now ready for use. To build from source, see [Dev Setup](#dev-setup).
|
|
|
43
42
|
|
|
44
43
|
**NOTE: This README is for the current branch and not necessarily what's released on RubyGems.**
|
|
45
44
|
|
|
46
|
-
|
|
47
45
|
## Usage
|
|
48
46
|
|
|
49
47
|
### Client
|
|
@@ -54,6 +52,12 @@ A client can be created and used to start a workflow like so:
|
|
|
54
52
|
# Establish a gRPC connection to the server
|
|
55
53
|
connection = Temporalio::Connection.new('localhost:7233')
|
|
56
54
|
|
|
55
|
+
# To enable TLS, simply add the `tls:` argument:
|
|
56
|
+
# Temporalio::Connection.new(
|
|
57
|
+
# 'localhost:7233',
|
|
58
|
+
# tls: Temporalio::Connection::TlsOptions.new(client_cert, client_private_key)
|
|
59
|
+
# )
|
|
60
|
+
|
|
57
61
|
# Initialize a Client with a namespace
|
|
58
62
|
client = Temporalio::Client.new(connection, 'my-namespace')
|
|
59
63
|
|
|
@@ -68,7 +72,6 @@ puts "Result: #{result}"
|
|
|
68
72
|
Some things to note about the above code:
|
|
69
73
|
|
|
70
74
|
- A `Client` does not have an explicit "close"
|
|
71
|
-
- TLS is not yet supported
|
|
72
75
|
- All positional arguments after the workflow name are treated as workflow arguments
|
|
73
76
|
- The `handle` represents the workflow that was started and can be used for more than just getting
|
|
74
77
|
the result
|
|
@@ -98,13 +101,13 @@ different SDKs. A custom payload converter can be implemented to support these.
|
|
|
98
101
|
Workers host workflows (coming soon) and/or activities. Here's how to run a worker:
|
|
99
102
|
|
|
100
103
|
```ruby
|
|
101
|
-
require '
|
|
104
|
+
require 'temporalio'
|
|
102
105
|
|
|
103
106
|
# Establish a gRPC connection to the server
|
|
104
|
-
connection =
|
|
107
|
+
connection = Temporalio::Connection.new('localhost:7233')
|
|
105
108
|
|
|
106
109
|
# Initialize a new worker with your activities
|
|
107
|
-
worker =
|
|
110
|
+
worker = Temporalio::Worker.new(connection, 'my-namespace', 'my-task-queue', activities: [MyActivity])
|
|
108
111
|
|
|
109
112
|
# Occupy the thread by running the worker
|
|
110
113
|
worker.run
|
|
@@ -125,7 +128,7 @@ which the worker will shut itself down:
|
|
|
125
128
|
worker_1.run { sleep 5 }
|
|
126
129
|
|
|
127
130
|
# Or shut the worker down when a workflow completes (very useful for running specs):
|
|
128
|
-
client =
|
|
131
|
+
client = Temporalio::Client.new(connection, 'my-namespace')
|
|
129
132
|
handle = client.start_workflow('MyWorkflow', 'some input', id: 'my-id', task_queue: 'my-task-queue')
|
|
130
133
|
worker_2.run { handle.result }
|
|
131
134
|
|
|
@@ -135,34 +138,34 @@ Signal.trap('USR1') { stop_queue.close }
|
|
|
135
138
|
worker_3.run { stop_queue.pop }
|
|
136
139
|
```
|
|
137
140
|
|
|
138
|
-
You can also shut down a running worker by calling `
|
|
141
|
+
You can also shut down a running worker by calling `Temporalio::Worker#shutdown` from a separate
|
|
139
142
|
thread at any time.
|
|
140
143
|
|
|
141
144
|
#### Running multiple workers
|
|
142
145
|
|
|
143
|
-
In order to run multiple workers in the same thread you can use the `
|
|
146
|
+
In order to run multiple workers in the same thread you can use the `Temporalio::Worker.run` method:
|
|
144
147
|
|
|
145
148
|
```ruby
|
|
146
149
|
# Initialize workers
|
|
147
|
-
worker_1 =
|
|
148
|
-
worker_2 =
|
|
149
|
-
worker_3 =
|
|
150
|
+
worker_1 = Temporalio::Worker.new(connection, 'my-namespace-1', 'my-task-queue-1', activities: [MyActivity1, MyActivity2])
|
|
151
|
+
worker_2 = Temporalio::Worker.new(connection, 'my-namespace-2', 'my-task-queue-1', activities: [MyActivity3])
|
|
152
|
+
worker_3 = Temporalio::Worker.new(connection, 'my-namespace-1', 'my-task-queue-2', activities: [MyActivity4])
|
|
150
153
|
|
|
151
|
-
|
|
154
|
+
Temporalio::Worker.run(worker_1, worker_2, worker_3)
|
|
152
155
|
```
|
|
153
156
|
|
|
154
|
-
Please note that similar to `
|
|
157
|
+
Please note that similar to `Temporalio::Worker#run`, `Temporalio::Worker.run` accepts a block that
|
|
155
158
|
behaves the same way — the workers will be shut down when the block finishes.
|
|
156
159
|
|
|
157
160
|
You can also configure your worker to listen on process signals to initiate a shutdown:
|
|
158
161
|
|
|
159
162
|
```ruby
|
|
160
|
-
|
|
163
|
+
Temporalio::Worker.run(worker_1, worker_2, worker_3, shutdown_signals: %w[INT TERM])
|
|
161
164
|
```
|
|
162
165
|
|
|
163
166
|
#### Worker Shutdown
|
|
164
167
|
|
|
165
|
-
The `
|
|
168
|
+
The `Temporalio::Worker#run` (as well as `Temporalio::Worker#shutdown`) invocation will wait on all
|
|
166
169
|
activities to complete, so if a long-running activity does not at least respect cancellation, the
|
|
167
170
|
shutdown may never complete.
|
|
168
171
|
|
|
@@ -175,10 +178,10 @@ Cancellation](#heartbeating-and-cancellation).
|
|
|
175
178
|
|
|
176
179
|
#### Definition
|
|
177
180
|
|
|
178
|
-
Activities are defined by subclassing `
|
|
181
|
+
Activities are defined by subclassing `Temporalio::Activity` class:
|
|
179
182
|
|
|
180
183
|
```ruby
|
|
181
|
-
class SayHelloActivity <
|
|
184
|
+
class SayHelloActivity < Temporalio::Activity
|
|
182
185
|
# Optionally specify a custom activity name:
|
|
183
186
|
# (The class name `SayHelloActivity` will be used by default)
|
|
184
187
|
activity_name 'say-hello'
|
|
@@ -197,7 +200,7 @@ Some things to note about activity definitions:
|
|
|
197
200
|
|
|
198
201
|
#### Activity Context
|
|
199
202
|
|
|
200
|
-
Activity classes have access to `
|
|
203
|
+
Activity classes have access to `Temporalio::Activity::Context` via the `activity` method. Which
|
|
201
204
|
itself provides access to useful methods, specifically:
|
|
202
205
|
|
|
203
206
|
- `info` - Returns the immutable info of the currently running activity
|
|
@@ -217,12 +220,12 @@ persisted on the server for retrieval during activity retry. If an activity call
|
|
|
217
220
|
return an array containing `123` and `456` on the next run.
|
|
218
221
|
|
|
219
222
|
A cancellation is implemented using the `Thread#raise` method, which will raise a
|
|
220
|
-
`
|
|
223
|
+
`Temporalio::Error::ActivityCancelled` during the execution of an activity. This means that your code
|
|
221
224
|
might get interrupted at any point and never complete. In order to protect critical parts of your
|
|
222
225
|
activities wrap them in `activity.shield`:
|
|
223
226
|
|
|
224
227
|
```ruby
|
|
225
|
-
class ActivityWithCriticalLogic <
|
|
228
|
+
class ActivityWithCriticalLogic < Temporalio::Activity
|
|
226
229
|
def execute
|
|
227
230
|
activity.shield do
|
|
228
231
|
run_business_critical_logic_1
|
|
@@ -244,7 +247,7 @@ In case the entire activity is considered critical, you can mark it as `shielded
|
|
|
244
247
|
cancellation requests altogether:
|
|
245
248
|
|
|
246
249
|
```ruby
|
|
247
|
-
class CriticalActivity <
|
|
250
|
+
class CriticalActivity < Temporalio::Activity
|
|
248
251
|
shielded!
|
|
249
252
|
|
|
250
253
|
def execute
|
|
@@ -259,7 +262,6 @@ For any long-running activity using this approach it is recommended to periodica
|
|
|
259
262
|
Please note that your activities can also get cancelled during a worker shutdown process ([if
|
|
260
263
|
configured accordingly](#worker-shutdown)).
|
|
261
264
|
|
|
262
|
-
|
|
263
265
|
## Dev Setup
|
|
264
266
|
|
|
265
267
|
Once you've forked/cloned the repository you want to make sure all the submodules are fetched as
|
data/bridge/Cargo.lock
CHANGED
|
@@ -22,11 +22,11 @@ dependencies = [
|
|
|
22
22
|
|
|
23
23
|
[[package]]
|
|
24
24
|
name = "ahash"
|
|
25
|
-
version = "0.
|
|
25
|
+
version = "0.8.3"
|
|
26
26
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
27
|
-
checksum = "
|
|
27
|
+
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
|
|
28
28
|
dependencies = [
|
|
29
|
-
"
|
|
29
|
+
"cfg-if",
|
|
30
30
|
"once_cell",
|
|
31
31
|
"version_check",
|
|
32
32
|
]
|
|
@@ -52,17 +52,6 @@ version = "1.5.1"
|
|
|
52
52
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
53
53
|
checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164"
|
|
54
54
|
|
|
55
|
-
[[package]]
|
|
56
|
-
name = "async-channel"
|
|
57
|
-
version = "1.7.1"
|
|
58
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
59
|
-
checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28"
|
|
60
|
-
dependencies = [
|
|
61
|
-
"concurrent-queue",
|
|
62
|
-
"event-listener",
|
|
63
|
-
"futures-core",
|
|
64
|
-
]
|
|
65
|
-
|
|
66
55
|
[[package]]
|
|
67
56
|
name = "async-stream"
|
|
68
57
|
version = "0.3.3"
|
|
@@ -165,9 +154,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
|
|
|
165
154
|
|
|
166
155
|
[[package]]
|
|
167
156
|
name = "base64"
|
|
168
|
-
version = "0.
|
|
157
|
+
version = "0.21.0"
|
|
169
158
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
170
|
-
checksum = "
|
|
159
|
+
checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
|
|
171
160
|
|
|
172
161
|
[[package]]
|
|
173
162
|
name = "base64ct"
|
|
@@ -190,24 +179,6 @@ dependencies = [
|
|
|
190
179
|
"generic-array",
|
|
191
180
|
]
|
|
192
181
|
|
|
193
|
-
[[package]]
|
|
194
|
-
name = "bridge"
|
|
195
|
-
version = "0.0.1"
|
|
196
|
-
dependencies = [
|
|
197
|
-
"lazy_static",
|
|
198
|
-
"prost",
|
|
199
|
-
"rutie",
|
|
200
|
-
"temporal-client",
|
|
201
|
-
"temporal-sdk-core",
|
|
202
|
-
"temporal-sdk-core-api",
|
|
203
|
-
"temporal-sdk-core-protos",
|
|
204
|
-
"thiserror",
|
|
205
|
-
"tokio",
|
|
206
|
-
"tokio-util",
|
|
207
|
-
"tonic",
|
|
208
|
-
"url",
|
|
209
|
-
]
|
|
210
|
-
|
|
211
182
|
[[package]]
|
|
212
183
|
name = "bumpalo"
|
|
213
184
|
version = "3.11.1"
|
|
@@ -228,9 +199,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
|
|
|
228
199
|
|
|
229
200
|
[[package]]
|
|
230
201
|
name = "bzip2"
|
|
231
|
-
version = "0.4.
|
|
202
|
+
version = "0.4.4"
|
|
232
203
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
233
|
-
checksum = "
|
|
204
|
+
checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
|
|
234
205
|
dependencies = [
|
|
235
206
|
"bzip2-sys",
|
|
236
207
|
"libc",
|
|
@@ -247,12 +218,6 @@ dependencies = [
|
|
|
247
218
|
"pkg-config",
|
|
248
219
|
]
|
|
249
220
|
|
|
250
|
-
[[package]]
|
|
251
|
-
name = "cache-padded"
|
|
252
|
-
version = "1.2.0"
|
|
253
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
254
|
-
checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
|
|
255
|
-
|
|
256
221
|
[[package]]
|
|
257
222
|
name = "cc"
|
|
258
223
|
version = "1.0.76"
|
|
@@ -269,21 +234,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
269
234
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
270
235
|
|
|
271
236
|
[[package]]
|
|
272
|
-
name = "
|
|
273
|
-
version = "0.
|
|
237
|
+
name = "chrono"
|
|
238
|
+
version = "0.4.23"
|
|
274
239
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
275
|
-
checksum = "
|
|
240
|
+
checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
|
|
276
241
|
dependencies = [
|
|
277
|
-
"
|
|
242
|
+
"num-integer",
|
|
243
|
+
"num-traits",
|
|
244
|
+
"serde",
|
|
278
245
|
]
|
|
279
246
|
|
|
280
247
|
[[package]]
|
|
281
|
-
name = "
|
|
282
|
-
version = "
|
|
248
|
+
name = "cipher"
|
|
249
|
+
version = "0.3.0"
|
|
283
250
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
284
|
-
checksum = "
|
|
251
|
+
checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
|
|
285
252
|
dependencies = [
|
|
286
|
-
"
|
|
253
|
+
"generic-array",
|
|
287
254
|
]
|
|
288
255
|
|
|
289
256
|
[[package]]
|
|
@@ -409,6 +376,16 @@ dependencies = [
|
|
|
409
376
|
"typenum",
|
|
410
377
|
]
|
|
411
378
|
|
|
379
|
+
[[package]]
|
|
380
|
+
name = "ctor"
|
|
381
|
+
version = "0.1.26"
|
|
382
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
383
|
+
checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
|
|
384
|
+
dependencies = [
|
|
385
|
+
"quote",
|
|
386
|
+
"syn",
|
|
387
|
+
]
|
|
388
|
+
|
|
412
389
|
[[package]]
|
|
413
390
|
name = "darling"
|
|
414
391
|
version = "0.14.2"
|
|
@@ -451,7 +428,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
451
428
|
checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
|
|
452
429
|
dependencies = [
|
|
453
430
|
"cfg-if",
|
|
454
|
-
"hashbrown",
|
|
431
|
+
"hashbrown 0.12.3",
|
|
455
432
|
"lock_api",
|
|
456
433
|
"once_cell",
|
|
457
434
|
"parking_lot_core",
|
|
@@ -552,10 +529,13 @@ dependencies = [
|
|
|
552
529
|
]
|
|
553
530
|
|
|
554
531
|
[[package]]
|
|
555
|
-
name = "
|
|
556
|
-
version = "
|
|
532
|
+
name = "erased-serde"
|
|
533
|
+
version = "0.3.24"
|
|
557
534
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
558
|
-
checksum = "
|
|
535
|
+
checksum = "e4ca605381c017ec7a5fef5e548f1cfaa419ed0f6df6367339300db74c92aa7d"
|
|
536
|
+
dependencies = [
|
|
537
|
+
"serde",
|
|
538
|
+
]
|
|
559
539
|
|
|
560
540
|
[[package]]
|
|
561
541
|
name = "fastrand"
|
|
@@ -751,6 +731,17 @@ dependencies = [
|
|
|
751
731
|
"wasi 0.11.0+wasi-snapshot-preview1",
|
|
752
732
|
]
|
|
753
733
|
|
|
734
|
+
[[package]]
|
|
735
|
+
name = "ghost"
|
|
736
|
+
version = "0.1.7"
|
|
737
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
738
|
+
checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
|
|
739
|
+
dependencies = [
|
|
740
|
+
"proc-macro2",
|
|
741
|
+
"quote",
|
|
742
|
+
"syn",
|
|
743
|
+
]
|
|
744
|
+
|
|
754
745
|
[[package]]
|
|
755
746
|
name = "governor"
|
|
756
747
|
version = "0.5.0"
|
|
@@ -793,6 +784,12 @@ name = "hashbrown"
|
|
|
793
784
|
version = "0.12.3"
|
|
794
785
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
795
786
|
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
|
787
|
+
|
|
788
|
+
[[package]]
|
|
789
|
+
name = "hashbrown"
|
|
790
|
+
version = "0.13.2"
|
|
791
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
792
|
+
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
|
|
796
793
|
dependencies = [
|
|
797
794
|
"ahash",
|
|
798
795
|
]
|
|
@@ -933,7 +930,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
933
930
|
checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
|
|
934
931
|
dependencies = [
|
|
935
932
|
"autocfg",
|
|
936
|
-
"hashbrown",
|
|
933
|
+
"hashbrown 0.12.3",
|
|
937
934
|
]
|
|
938
935
|
|
|
939
936
|
[[package]]
|
|
@@ -945,6 +942,16 @@ dependencies = [
|
|
|
945
942
|
"cfg-if",
|
|
946
943
|
]
|
|
947
944
|
|
|
945
|
+
[[package]]
|
|
946
|
+
name = "inventory"
|
|
947
|
+
version = "0.3.3"
|
|
948
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
949
|
+
checksum = "16fe3b35d64bd1f72917f06425e7573a2f63f74f42c8f56e53ea6826dde3a2b5"
|
|
950
|
+
dependencies = [
|
|
951
|
+
"ctor",
|
|
952
|
+
"ghost",
|
|
953
|
+
]
|
|
954
|
+
|
|
948
955
|
[[package]]
|
|
949
956
|
name = "ipnet"
|
|
950
957
|
version = "2.5.1"
|
|
@@ -1017,11 +1024,11 @@ dependencies = [
|
|
|
1017
1024
|
|
|
1018
1025
|
[[package]]
|
|
1019
1026
|
name = "lru"
|
|
1020
|
-
version = "0.
|
|
1027
|
+
version = "0.9.0"
|
|
1021
1028
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1022
|
-
checksum = "
|
|
1029
|
+
checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17"
|
|
1023
1030
|
dependencies = [
|
|
1024
|
-
"hashbrown",
|
|
1031
|
+
"hashbrown 0.13.2",
|
|
1025
1032
|
]
|
|
1026
1033
|
|
|
1027
1034
|
[[package]]
|
|
@@ -1174,6 +1181,16 @@ dependencies = [
|
|
|
1174
1181
|
"winapi",
|
|
1175
1182
|
]
|
|
1176
1183
|
|
|
1184
|
+
[[package]]
|
|
1185
|
+
name = "num-integer"
|
|
1186
|
+
version = "0.1.45"
|
|
1187
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1188
|
+
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
|
|
1189
|
+
dependencies = [
|
|
1190
|
+
"autocfg",
|
|
1191
|
+
"num-traits",
|
|
1192
|
+
]
|
|
1193
|
+
|
|
1177
1194
|
[[package]]
|
|
1178
1195
|
name = "num-traits"
|
|
1179
1196
|
version = "0.2.15"
|
|
@@ -1480,9 +1497,9 @@ dependencies = [
|
|
|
1480
1497
|
|
|
1481
1498
|
[[package]]
|
|
1482
1499
|
name = "prost"
|
|
1483
|
-
version = "0.11.
|
|
1500
|
+
version = "0.11.6"
|
|
1484
1501
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1485
|
-
checksum = "
|
|
1502
|
+
checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698"
|
|
1486
1503
|
dependencies = [
|
|
1487
1504
|
"bytes",
|
|
1488
1505
|
"prost-derive",
|
|
@@ -1490,9 +1507,9 @@ dependencies = [
|
|
|
1490
1507
|
|
|
1491
1508
|
[[package]]
|
|
1492
1509
|
name = "prost-build"
|
|
1493
|
-
version = "0.11.
|
|
1510
|
+
version = "0.11.6"
|
|
1494
1511
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1495
|
-
checksum = "
|
|
1512
|
+
checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e"
|
|
1496
1513
|
dependencies = [
|
|
1497
1514
|
"bytes",
|
|
1498
1515
|
"heck",
|
|
@@ -1512,9 +1529,9 @@ dependencies = [
|
|
|
1512
1529
|
|
|
1513
1530
|
[[package]]
|
|
1514
1531
|
name = "prost-derive"
|
|
1515
|
-
version = "0.11.
|
|
1532
|
+
version = "0.11.6"
|
|
1516
1533
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1517
|
-
checksum = "
|
|
1534
|
+
checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d"
|
|
1518
1535
|
dependencies = [
|
|
1519
1536
|
"anyhow",
|
|
1520
1537
|
"itertools",
|
|
@@ -1525,14 +1542,60 @@ dependencies = [
|
|
|
1525
1542
|
|
|
1526
1543
|
[[package]]
|
|
1527
1544
|
name = "prost-types"
|
|
1528
|
-
version = "0.11.
|
|
1545
|
+
version = "0.11.6"
|
|
1529
1546
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1530
|
-
checksum = "
|
|
1547
|
+
checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788"
|
|
1531
1548
|
dependencies = [
|
|
1532
1549
|
"bytes",
|
|
1533
1550
|
"prost",
|
|
1534
1551
|
]
|
|
1535
1552
|
|
|
1553
|
+
[[package]]
|
|
1554
|
+
name = "prost-wkt"
|
|
1555
|
+
version = "0.4.0"
|
|
1556
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1557
|
+
checksum = "81d27933a63f4fa7586c2eac76179e7a9b782a7165aa309028adbec626a33100"
|
|
1558
|
+
dependencies = [
|
|
1559
|
+
"chrono",
|
|
1560
|
+
"inventory",
|
|
1561
|
+
"prost",
|
|
1562
|
+
"serde",
|
|
1563
|
+
"serde_derive",
|
|
1564
|
+
"serde_json",
|
|
1565
|
+
"typetag",
|
|
1566
|
+
]
|
|
1567
|
+
|
|
1568
|
+
[[package]]
|
|
1569
|
+
name = "prost-wkt-build"
|
|
1570
|
+
version = "0.4.0"
|
|
1571
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1572
|
+
checksum = "edf268948bef41c2f9bb879e8868c155412d28d6ba4295c5b8d6d6639e47f9cf"
|
|
1573
|
+
dependencies = [
|
|
1574
|
+
"heck",
|
|
1575
|
+
"prost",
|
|
1576
|
+
"prost-build",
|
|
1577
|
+
"prost-types",
|
|
1578
|
+
"quote",
|
|
1579
|
+
]
|
|
1580
|
+
|
|
1581
|
+
[[package]]
|
|
1582
|
+
name = "prost-wkt-types"
|
|
1583
|
+
version = "0.4.0"
|
|
1584
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1585
|
+
checksum = "4e240034fe46986ab9f84d669ed9bd46ad0c6adb8777ef28f5c44b94b43a3743"
|
|
1586
|
+
dependencies = [
|
|
1587
|
+
"chrono",
|
|
1588
|
+
"prost",
|
|
1589
|
+
"prost-build",
|
|
1590
|
+
"prost-types",
|
|
1591
|
+
"prost-wkt",
|
|
1592
|
+
"prost-wkt-build",
|
|
1593
|
+
"regex",
|
|
1594
|
+
"serde",
|
|
1595
|
+
"serde_derive",
|
|
1596
|
+
"serde_json",
|
|
1597
|
+
]
|
|
1598
|
+
|
|
1536
1599
|
[[package]]
|
|
1537
1600
|
name = "protobuf"
|
|
1538
1601
|
version = "2.28.0"
|
|
@@ -2068,9 +2131,8 @@ version = "0.1.0"
|
|
|
2068
2131
|
dependencies = [
|
|
2069
2132
|
"anyhow",
|
|
2070
2133
|
"arc-swap",
|
|
2071
|
-
"async-channel",
|
|
2072
2134
|
"async-trait",
|
|
2073
|
-
"base64 0.
|
|
2135
|
+
"base64 0.21.0",
|
|
2074
2136
|
"crossbeam",
|
|
2075
2137
|
"dashmap",
|
|
2076
2138
|
"derive_builder",
|
|
@@ -2084,7 +2146,6 @@ dependencies = [
|
|
|
2084
2146
|
"hyper",
|
|
2085
2147
|
"itertools",
|
|
2086
2148
|
"lazy_static",
|
|
2087
|
-
"log",
|
|
2088
2149
|
"lru",
|
|
2089
2150
|
"mockall",
|
|
2090
2151
|
"nix",
|
|
@@ -2093,9 +2154,10 @@ dependencies = [
|
|
|
2093
2154
|
"opentelemetry-otlp",
|
|
2094
2155
|
"opentelemetry-prometheus",
|
|
2095
2156
|
"parking_lot",
|
|
2157
|
+
"pin-project",
|
|
2096
2158
|
"prometheus",
|
|
2097
2159
|
"prost",
|
|
2098
|
-
"prost-types",
|
|
2160
|
+
"prost-wkt-types",
|
|
2099
2161
|
"rand",
|
|
2100
2162
|
"reqwest",
|
|
2101
2163
|
"ringbuf",
|
|
@@ -2129,12 +2191,13 @@ version = "0.1.0"
|
|
|
2129
2191
|
dependencies = [
|
|
2130
2192
|
"async-trait",
|
|
2131
2193
|
"derive_builder",
|
|
2132
|
-
"opentelemetry",
|
|
2133
2194
|
"prost-types",
|
|
2195
|
+
"serde",
|
|
2134
2196
|
"serde_json",
|
|
2135
2197
|
"temporal-client",
|
|
2136
2198
|
"temporal-sdk-core-protos",
|
|
2137
2199
|
"thiserror",
|
|
2200
|
+
"tokio",
|
|
2138
2201
|
"tonic",
|
|
2139
2202
|
"tracing-core",
|
|
2140
2203
|
"url",
|
|
@@ -2145,10 +2208,12 @@ name = "temporal-sdk-core-protos"
|
|
|
2145
2208
|
version = "0.1.0"
|
|
2146
2209
|
dependencies = [
|
|
2147
2210
|
"anyhow",
|
|
2148
|
-
"base64 0.
|
|
2211
|
+
"base64 0.21.0",
|
|
2149
2212
|
"derive_more",
|
|
2150
2213
|
"prost",
|
|
2151
|
-
"prost-
|
|
2214
|
+
"prost-wkt",
|
|
2215
|
+
"prost-wkt-build",
|
|
2216
|
+
"prost-wkt-types",
|
|
2152
2217
|
"rand",
|
|
2153
2218
|
"serde",
|
|
2154
2219
|
"serde_json",
|
|
@@ -2158,6 +2223,26 @@ dependencies = [
|
|
|
2158
2223
|
"uuid",
|
|
2159
2224
|
]
|
|
2160
2225
|
|
|
2226
|
+
[[package]]
|
|
2227
|
+
name = "temporal-sdk-ruby-bridge"
|
|
2228
|
+
version = "0.1.1"
|
|
2229
|
+
dependencies = [
|
|
2230
|
+
"anyhow",
|
|
2231
|
+
"lazy_static",
|
|
2232
|
+
"parking_lot",
|
|
2233
|
+
"prost",
|
|
2234
|
+
"rutie",
|
|
2235
|
+
"temporal-client",
|
|
2236
|
+
"temporal-sdk-core",
|
|
2237
|
+
"temporal-sdk-core-api",
|
|
2238
|
+
"temporal-sdk-core-protos",
|
|
2239
|
+
"thiserror",
|
|
2240
|
+
"tokio",
|
|
2241
|
+
"tokio-util",
|
|
2242
|
+
"tonic",
|
|
2243
|
+
"url",
|
|
2244
|
+
]
|
|
2245
|
+
|
|
2161
2246
|
[[package]]
|
|
2162
2247
|
name = "termtree"
|
|
2163
2248
|
version = "0.4.0"
|
|
@@ -2237,9 +2322,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
|
|
|
2237
2322
|
|
|
2238
2323
|
[[package]]
|
|
2239
2324
|
name = "tokio"
|
|
2240
|
-
version = "1.
|
|
2325
|
+
version = "1.25.0"
|
|
2241
2326
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2242
|
-
checksum = "
|
|
2327
|
+
checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
|
|
2243
2328
|
dependencies = [
|
|
2244
2329
|
"autocfg",
|
|
2245
2330
|
"bytes",
|
|
@@ -2252,7 +2337,7 @@ dependencies = [
|
|
|
2252
2337
|
"signal-hook-registry",
|
|
2253
2338
|
"socket2",
|
|
2254
2339
|
"tokio-macros",
|
|
2255
|
-
"
|
|
2340
|
+
"windows-sys 0.42.0",
|
|
2256
2341
|
]
|
|
2257
2342
|
|
|
2258
2343
|
[[package]]
|
|
@@ -2511,6 +2596,30 @@ version = "1.15.0"
|
|
|
2511
2596
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2512
2597
|
checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
|
|
2513
2598
|
|
|
2599
|
+
[[package]]
|
|
2600
|
+
name = "typetag"
|
|
2601
|
+
version = "0.2.5"
|
|
2602
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2603
|
+
checksum = "8eecd98403ae5ea2813689125cf5b3f99c40b8abed46c0a8945c81eadb673b31"
|
|
2604
|
+
dependencies = [
|
|
2605
|
+
"erased-serde",
|
|
2606
|
+
"inventory",
|
|
2607
|
+
"once_cell",
|
|
2608
|
+
"serde",
|
|
2609
|
+
"typetag-impl",
|
|
2610
|
+
]
|
|
2611
|
+
|
|
2612
|
+
[[package]]
|
|
2613
|
+
name = "typetag-impl"
|
|
2614
|
+
version = "0.2.5"
|
|
2615
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2616
|
+
checksum = "8f9568611f0de5e83e0993b85c54679cd0afd659adcfcb0233f16280b980492e"
|
|
2617
|
+
dependencies = [
|
|
2618
|
+
"proc-macro2",
|
|
2619
|
+
"quote",
|
|
2620
|
+
"syn",
|
|
2621
|
+
]
|
|
2622
|
+
|
|
2514
2623
|
[[package]]
|
|
2515
2624
|
name = "unicode-bidi"
|
|
2516
2625
|
version = "0.3.8"
|
data/bridge/Cargo.toml
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
[package]
|
|
2
|
-
name = "bridge"
|
|
3
|
-
version = "0.
|
|
2
|
+
name = "temporal-sdk-ruby-bridge"
|
|
3
|
+
version = "0.1.1"
|
|
4
4
|
authors = ["Anthony D <anthony@temporal.io>"]
|
|
5
5
|
edition = "2021"
|
|
6
6
|
repository = "https://github.com/temporalio/sdk-ruby"
|
|
7
7
|
|
|
8
8
|
[dependencies]
|
|
9
|
+
anyhow = "1.0"
|
|
9
10
|
lazy_static = "1.4.0"
|
|
11
|
+
parking_lot = { version = "0.12", features = ["send_guard"] }
|
|
10
12
|
prost = "0.11"
|
|
11
13
|
rutie = { version = "0.8.4", features = ["no-link"] }
|
|
12
14
|
temporal-client = { version = "0.1.0", path = "./sdk-core/client" }
|
|
@@ -14,13 +16,13 @@ temporal-sdk-core = { version = "0.1.0", path = "./sdk-core/core" }
|
|
|
14
16
|
temporal-sdk-core-api = { version = "0.1.0", path = "./sdk-core/core-api" }
|
|
15
17
|
temporal-sdk-core-protos = { version = "0.1.0", path = "./sdk-core/sdk-core-protos" }
|
|
16
18
|
thiserror = "1.0.31"
|
|
17
|
-
tokio = "1.
|
|
19
|
+
tokio = "1.23"
|
|
18
20
|
tokio-util = "0.7.4"
|
|
19
21
|
tonic = "0.8"
|
|
20
22
|
url = "2.2"
|
|
21
23
|
|
|
22
24
|
[lib]
|
|
23
|
-
name = "
|
|
25
|
+
name = "temporal_sdk_ruby_bridge"
|
|
24
26
|
crate-type = ["dylib"]
|
|
25
27
|
|
|
26
28
|
[package.metadata.thermite]
|