temporalio 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +25 -23
- data/bridge/Cargo.lock +168 -59
- data/bridge/Cargo.toml +4 -2
- 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/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/temporalio.gemspec +4 -3
- metadata +67 -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: f08577afe5170dc9e21a1fca6cf6c392fe4a15d2bcb699a452aa21ec3a7dee16
|
|
4
|
+
data.tar.gz: 8f36176626b07d8fd2a49e214d55c1e8f4727ad5dfbc15555d620ce88452ed93
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 072a450775661734eb6fdc176a09e64ada9616d17769ce723e12182e59603e08df6cdd58e095f92673ec09b041bb9e9e508b0f079ec4d83b6acdc31f460bb667
|
|
7
|
+
data.tar.gz: e4e8c7b38410a2ba9f2eb8256d26dbb5f02fd936e650e3cd75c4fdc36c09d2f172aa3b06b819bac41ea11bf6e2e9d8eec3cb29873643ca149759ed58c8c40a71
|
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"
|
|
@@ -192,9 +181,11 @@ dependencies = [
|
|
|
192
181
|
|
|
193
182
|
[[package]]
|
|
194
183
|
name = "bridge"
|
|
195
|
-
version = "0.0
|
|
184
|
+
version = "0.1.0"
|
|
196
185
|
dependencies = [
|
|
186
|
+
"anyhow",
|
|
197
187
|
"lazy_static",
|
|
188
|
+
"parking_lot",
|
|
198
189
|
"prost",
|
|
199
190
|
"rutie",
|
|
200
191
|
"temporal-client",
|
|
@@ -228,9 +219,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
|
|
|
228
219
|
|
|
229
220
|
[[package]]
|
|
230
221
|
name = "bzip2"
|
|
231
|
-
version = "0.4.
|
|
222
|
+
version = "0.4.4"
|
|
232
223
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
233
|
-
checksum = "
|
|
224
|
+
checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
|
|
234
225
|
dependencies = [
|
|
235
226
|
"bzip2-sys",
|
|
236
227
|
"libc",
|
|
@@ -247,12 +238,6 @@ dependencies = [
|
|
|
247
238
|
"pkg-config",
|
|
248
239
|
]
|
|
249
240
|
|
|
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
241
|
[[package]]
|
|
257
242
|
name = "cc"
|
|
258
243
|
version = "1.0.76"
|
|
@@ -269,21 +254,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
269
254
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
270
255
|
|
|
271
256
|
[[package]]
|
|
272
|
-
name = "
|
|
273
|
-
version = "0.
|
|
257
|
+
name = "chrono"
|
|
258
|
+
version = "0.4.23"
|
|
274
259
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
275
|
-
checksum = "
|
|
260
|
+
checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
|
|
276
261
|
dependencies = [
|
|
277
|
-
"
|
|
262
|
+
"num-integer",
|
|
263
|
+
"num-traits",
|
|
264
|
+
"serde",
|
|
278
265
|
]
|
|
279
266
|
|
|
280
267
|
[[package]]
|
|
281
|
-
name = "
|
|
282
|
-
version = "
|
|
268
|
+
name = "cipher"
|
|
269
|
+
version = "0.3.0"
|
|
283
270
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
284
|
-
checksum = "
|
|
271
|
+
checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
|
|
285
272
|
dependencies = [
|
|
286
|
-
"
|
|
273
|
+
"generic-array",
|
|
287
274
|
]
|
|
288
275
|
|
|
289
276
|
[[package]]
|
|
@@ -409,6 +396,16 @@ dependencies = [
|
|
|
409
396
|
"typenum",
|
|
410
397
|
]
|
|
411
398
|
|
|
399
|
+
[[package]]
|
|
400
|
+
name = "ctor"
|
|
401
|
+
version = "0.1.26"
|
|
402
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
403
|
+
checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
|
|
404
|
+
dependencies = [
|
|
405
|
+
"quote",
|
|
406
|
+
"syn",
|
|
407
|
+
]
|
|
408
|
+
|
|
412
409
|
[[package]]
|
|
413
410
|
name = "darling"
|
|
414
411
|
version = "0.14.2"
|
|
@@ -451,7 +448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
451
448
|
checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
|
|
452
449
|
dependencies = [
|
|
453
450
|
"cfg-if",
|
|
454
|
-
"hashbrown",
|
|
451
|
+
"hashbrown 0.12.3",
|
|
455
452
|
"lock_api",
|
|
456
453
|
"once_cell",
|
|
457
454
|
"parking_lot_core",
|
|
@@ -552,10 +549,13 @@ dependencies = [
|
|
|
552
549
|
]
|
|
553
550
|
|
|
554
551
|
[[package]]
|
|
555
|
-
name = "
|
|
556
|
-
version = "
|
|
552
|
+
name = "erased-serde"
|
|
553
|
+
version = "0.3.24"
|
|
557
554
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
558
|
-
checksum = "
|
|
555
|
+
checksum = "e4ca605381c017ec7a5fef5e548f1cfaa419ed0f6df6367339300db74c92aa7d"
|
|
556
|
+
dependencies = [
|
|
557
|
+
"serde",
|
|
558
|
+
]
|
|
559
559
|
|
|
560
560
|
[[package]]
|
|
561
561
|
name = "fastrand"
|
|
@@ -751,6 +751,17 @@ dependencies = [
|
|
|
751
751
|
"wasi 0.11.0+wasi-snapshot-preview1",
|
|
752
752
|
]
|
|
753
753
|
|
|
754
|
+
[[package]]
|
|
755
|
+
name = "ghost"
|
|
756
|
+
version = "0.1.7"
|
|
757
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
758
|
+
checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
|
|
759
|
+
dependencies = [
|
|
760
|
+
"proc-macro2",
|
|
761
|
+
"quote",
|
|
762
|
+
"syn",
|
|
763
|
+
]
|
|
764
|
+
|
|
754
765
|
[[package]]
|
|
755
766
|
name = "governor"
|
|
756
767
|
version = "0.5.0"
|
|
@@ -793,6 +804,12 @@ name = "hashbrown"
|
|
|
793
804
|
version = "0.12.3"
|
|
794
805
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
795
806
|
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
|
807
|
+
|
|
808
|
+
[[package]]
|
|
809
|
+
name = "hashbrown"
|
|
810
|
+
version = "0.13.2"
|
|
811
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
812
|
+
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
|
|
796
813
|
dependencies = [
|
|
797
814
|
"ahash",
|
|
798
815
|
]
|
|
@@ -933,7 +950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
933
950
|
checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
|
|
934
951
|
dependencies = [
|
|
935
952
|
"autocfg",
|
|
936
|
-
"hashbrown",
|
|
953
|
+
"hashbrown 0.12.3",
|
|
937
954
|
]
|
|
938
955
|
|
|
939
956
|
[[package]]
|
|
@@ -945,6 +962,16 @@ dependencies = [
|
|
|
945
962
|
"cfg-if",
|
|
946
963
|
]
|
|
947
964
|
|
|
965
|
+
[[package]]
|
|
966
|
+
name = "inventory"
|
|
967
|
+
version = "0.3.3"
|
|
968
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
969
|
+
checksum = "16fe3b35d64bd1f72917f06425e7573a2f63f74f42c8f56e53ea6826dde3a2b5"
|
|
970
|
+
dependencies = [
|
|
971
|
+
"ctor",
|
|
972
|
+
"ghost",
|
|
973
|
+
]
|
|
974
|
+
|
|
948
975
|
[[package]]
|
|
949
976
|
name = "ipnet"
|
|
950
977
|
version = "2.5.1"
|
|
@@ -1017,11 +1044,11 @@ dependencies = [
|
|
|
1017
1044
|
|
|
1018
1045
|
[[package]]
|
|
1019
1046
|
name = "lru"
|
|
1020
|
-
version = "0.
|
|
1047
|
+
version = "0.9.0"
|
|
1021
1048
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1022
|
-
checksum = "
|
|
1049
|
+
checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17"
|
|
1023
1050
|
dependencies = [
|
|
1024
|
-
"hashbrown",
|
|
1051
|
+
"hashbrown 0.13.2",
|
|
1025
1052
|
]
|
|
1026
1053
|
|
|
1027
1054
|
[[package]]
|
|
@@ -1174,6 +1201,16 @@ dependencies = [
|
|
|
1174
1201
|
"winapi",
|
|
1175
1202
|
]
|
|
1176
1203
|
|
|
1204
|
+
[[package]]
|
|
1205
|
+
name = "num-integer"
|
|
1206
|
+
version = "0.1.45"
|
|
1207
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1208
|
+
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
|
|
1209
|
+
dependencies = [
|
|
1210
|
+
"autocfg",
|
|
1211
|
+
"num-traits",
|
|
1212
|
+
]
|
|
1213
|
+
|
|
1177
1214
|
[[package]]
|
|
1178
1215
|
name = "num-traits"
|
|
1179
1216
|
version = "0.2.15"
|
|
@@ -1480,9 +1517,9 @@ dependencies = [
|
|
|
1480
1517
|
|
|
1481
1518
|
[[package]]
|
|
1482
1519
|
name = "prost"
|
|
1483
|
-
version = "0.11.
|
|
1520
|
+
version = "0.11.6"
|
|
1484
1521
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1485
|
-
checksum = "
|
|
1522
|
+
checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698"
|
|
1486
1523
|
dependencies = [
|
|
1487
1524
|
"bytes",
|
|
1488
1525
|
"prost-derive",
|
|
@@ -1490,9 +1527,9 @@ dependencies = [
|
|
|
1490
1527
|
|
|
1491
1528
|
[[package]]
|
|
1492
1529
|
name = "prost-build"
|
|
1493
|
-
version = "0.11.
|
|
1530
|
+
version = "0.11.6"
|
|
1494
1531
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1495
|
-
checksum = "
|
|
1532
|
+
checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e"
|
|
1496
1533
|
dependencies = [
|
|
1497
1534
|
"bytes",
|
|
1498
1535
|
"heck",
|
|
@@ -1512,9 +1549,9 @@ dependencies = [
|
|
|
1512
1549
|
|
|
1513
1550
|
[[package]]
|
|
1514
1551
|
name = "prost-derive"
|
|
1515
|
-
version = "0.11.
|
|
1552
|
+
version = "0.11.6"
|
|
1516
1553
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1517
|
-
checksum = "
|
|
1554
|
+
checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d"
|
|
1518
1555
|
dependencies = [
|
|
1519
1556
|
"anyhow",
|
|
1520
1557
|
"itertools",
|
|
@@ -1525,14 +1562,60 @@ dependencies = [
|
|
|
1525
1562
|
|
|
1526
1563
|
[[package]]
|
|
1527
1564
|
name = "prost-types"
|
|
1528
|
-
version = "0.11.
|
|
1565
|
+
version = "0.11.6"
|
|
1529
1566
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1530
|
-
checksum = "
|
|
1567
|
+
checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788"
|
|
1531
1568
|
dependencies = [
|
|
1532
1569
|
"bytes",
|
|
1533
1570
|
"prost",
|
|
1534
1571
|
]
|
|
1535
1572
|
|
|
1573
|
+
[[package]]
|
|
1574
|
+
name = "prost-wkt"
|
|
1575
|
+
version = "0.4.0"
|
|
1576
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1577
|
+
checksum = "81d27933a63f4fa7586c2eac76179e7a9b782a7165aa309028adbec626a33100"
|
|
1578
|
+
dependencies = [
|
|
1579
|
+
"chrono",
|
|
1580
|
+
"inventory",
|
|
1581
|
+
"prost",
|
|
1582
|
+
"serde",
|
|
1583
|
+
"serde_derive",
|
|
1584
|
+
"serde_json",
|
|
1585
|
+
"typetag",
|
|
1586
|
+
]
|
|
1587
|
+
|
|
1588
|
+
[[package]]
|
|
1589
|
+
name = "prost-wkt-build"
|
|
1590
|
+
version = "0.4.0"
|
|
1591
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1592
|
+
checksum = "edf268948bef41c2f9bb879e8868c155412d28d6ba4295c5b8d6d6639e47f9cf"
|
|
1593
|
+
dependencies = [
|
|
1594
|
+
"heck",
|
|
1595
|
+
"prost",
|
|
1596
|
+
"prost-build",
|
|
1597
|
+
"prost-types",
|
|
1598
|
+
"quote",
|
|
1599
|
+
]
|
|
1600
|
+
|
|
1601
|
+
[[package]]
|
|
1602
|
+
name = "prost-wkt-types"
|
|
1603
|
+
version = "0.4.0"
|
|
1604
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1605
|
+
checksum = "4e240034fe46986ab9f84d669ed9bd46ad0c6adb8777ef28f5c44b94b43a3743"
|
|
1606
|
+
dependencies = [
|
|
1607
|
+
"chrono",
|
|
1608
|
+
"prost",
|
|
1609
|
+
"prost-build",
|
|
1610
|
+
"prost-types",
|
|
1611
|
+
"prost-wkt",
|
|
1612
|
+
"prost-wkt-build",
|
|
1613
|
+
"regex",
|
|
1614
|
+
"serde",
|
|
1615
|
+
"serde_derive",
|
|
1616
|
+
"serde_json",
|
|
1617
|
+
]
|
|
1618
|
+
|
|
1536
1619
|
[[package]]
|
|
1537
1620
|
name = "protobuf"
|
|
1538
1621
|
version = "2.28.0"
|
|
@@ -2068,9 +2151,8 @@ version = "0.1.0"
|
|
|
2068
2151
|
dependencies = [
|
|
2069
2152
|
"anyhow",
|
|
2070
2153
|
"arc-swap",
|
|
2071
|
-
"async-channel",
|
|
2072
2154
|
"async-trait",
|
|
2073
|
-
"base64 0.
|
|
2155
|
+
"base64 0.21.0",
|
|
2074
2156
|
"crossbeam",
|
|
2075
2157
|
"dashmap",
|
|
2076
2158
|
"derive_builder",
|
|
@@ -2084,7 +2166,6 @@ dependencies = [
|
|
|
2084
2166
|
"hyper",
|
|
2085
2167
|
"itertools",
|
|
2086
2168
|
"lazy_static",
|
|
2087
|
-
"log",
|
|
2088
2169
|
"lru",
|
|
2089
2170
|
"mockall",
|
|
2090
2171
|
"nix",
|
|
@@ -2093,9 +2174,10 @@ dependencies = [
|
|
|
2093
2174
|
"opentelemetry-otlp",
|
|
2094
2175
|
"opentelemetry-prometheus",
|
|
2095
2176
|
"parking_lot",
|
|
2177
|
+
"pin-project",
|
|
2096
2178
|
"prometheus",
|
|
2097
2179
|
"prost",
|
|
2098
|
-
"prost-types",
|
|
2180
|
+
"prost-wkt-types",
|
|
2099
2181
|
"rand",
|
|
2100
2182
|
"reqwest",
|
|
2101
2183
|
"ringbuf",
|
|
@@ -2129,12 +2211,13 @@ version = "0.1.0"
|
|
|
2129
2211
|
dependencies = [
|
|
2130
2212
|
"async-trait",
|
|
2131
2213
|
"derive_builder",
|
|
2132
|
-
"opentelemetry",
|
|
2133
2214
|
"prost-types",
|
|
2215
|
+
"serde",
|
|
2134
2216
|
"serde_json",
|
|
2135
2217
|
"temporal-client",
|
|
2136
2218
|
"temporal-sdk-core-protos",
|
|
2137
2219
|
"thiserror",
|
|
2220
|
+
"tokio",
|
|
2138
2221
|
"tonic",
|
|
2139
2222
|
"tracing-core",
|
|
2140
2223
|
"url",
|
|
@@ -2145,10 +2228,12 @@ name = "temporal-sdk-core-protos"
|
|
|
2145
2228
|
version = "0.1.0"
|
|
2146
2229
|
dependencies = [
|
|
2147
2230
|
"anyhow",
|
|
2148
|
-
"base64 0.
|
|
2231
|
+
"base64 0.21.0",
|
|
2149
2232
|
"derive_more",
|
|
2150
2233
|
"prost",
|
|
2151
|
-
"prost-
|
|
2234
|
+
"prost-wkt",
|
|
2235
|
+
"prost-wkt-build",
|
|
2236
|
+
"prost-wkt-types",
|
|
2152
2237
|
"rand",
|
|
2153
2238
|
"serde",
|
|
2154
2239
|
"serde_json",
|
|
@@ -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
2
|
name = "bridge"
|
|
3
|
-
version = "0.0
|
|
3
|
+
version = "0.1.0"
|
|
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,7 +16,7 @@ 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"
|