temporalio 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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"
|