temporalio 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +2 -0
- data/Cargo.lock +980 -583
- data/Cargo.toml +2 -2
- data/Gemfile +7 -3
- data/README.md +769 -54
- data/Rakefile +10 -296
- data/ext/Cargo.toml +2 -0
- data/lib/temporalio/activity/complete_async_error.rb +1 -1
- data/lib/temporalio/activity/context.rb +18 -2
- data/lib/temporalio/activity/definition.rb +180 -65
- data/lib/temporalio/activity/info.rb +25 -21
- data/lib/temporalio/activity.rb +2 -59
- data/lib/temporalio/api/activity/v1/message.rb +25 -0
- data/lib/temporalio/api/batch/v1/message.rb +6 -1
- data/lib/temporalio/api/cloud/account/v1/message.rb +28 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +34 -1
- data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +1 -1
- data/lib/temporalio/api/cloud/identity/v1/message.rb +6 -1
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +8 -1
- data/lib/temporalio/api/cloud/nexus/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/operation/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/region/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/resource/v1/message.rb +23 -0
- data/lib/temporalio/api/cloud/sink/v1/message.rb +24 -0
- data/lib/temporalio/api/cloud/usage/v1/message.rb +31 -0
- data/lib/temporalio/api/command/v1/message.rb +1 -1
- data/lib/temporalio/api/common/v1/message.rb +8 -1
- data/lib/temporalio/api/deployment/v1/message.rb +38 -0
- data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
- data/lib/temporalio/api/enums/v1/common.rb +1 -1
- data/lib/temporalio/api/enums/v1/deployment.rb +23 -0
- data/lib/temporalio/api/enums/v1/event_type.rb +1 -1
- data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
- data/lib/temporalio/api/enums/v1/nexus.rb +21 -0
- data/lib/temporalio/api/enums/v1/reset.rb +1 -1
- data/lib/temporalio/api/enums/v1/workflow.rb +2 -1
- data/lib/temporalio/api/errordetails/v1/message.rb +3 -1
- data/lib/temporalio/api/failure/v1/message.rb +3 -1
- data/lib/temporalio/api/history/v1/message.rb +3 -1
- data/lib/temporalio/api/nexus/v1/message.rb +3 -2
- data/lib/temporalio/api/operatorservice/v1/service.rb +1 -1
- data/lib/temporalio/api/payload_visitor.rb +1581 -0
- data/lib/temporalio/api/query/v1/message.rb +2 -1
- data/lib/temporalio/api/schedule/v1/message.rb +2 -1
- data/lib/temporalio/api/taskqueue/v1/message.rb +4 -1
- data/lib/temporalio/api/testservice/v1/request_response.rb +31 -0
- data/lib/temporalio/api/testservice/v1/service.rb +23 -0
- data/lib/temporalio/api/workflow/v1/message.rb +9 -1
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +46 -2
- data/lib/temporalio/api/workflowservice/v1/service.rb +1 -1
- data/lib/temporalio/api.rb +2 -0
- data/lib/temporalio/cancellation.rb +34 -14
- data/lib/temporalio/client/async_activity_handle.rb +12 -37
- data/lib/temporalio/client/connection/cloud_service.rb +309 -231
- data/lib/temporalio/client/connection/operator_service.rb +36 -84
- data/lib/temporalio/client/connection/service.rb +6 -5
- data/lib/temporalio/client/connection/test_service.rb +111 -0
- data/lib/temporalio/client/connection/workflow_service.rb +474 -441
- data/lib/temporalio/client/connection.rb +90 -44
- data/lib/temporalio/client/interceptor.rb +199 -60
- data/lib/temporalio/client/schedule.rb +991 -0
- data/lib/temporalio/client/schedule_handle.rb +126 -0
- data/lib/temporalio/client/with_start_workflow_operation.rb +115 -0
- data/lib/temporalio/client/workflow_execution.rb +26 -10
- data/lib/temporalio/client/workflow_handle.rb +41 -98
- data/lib/temporalio/client/workflow_update_handle.rb +3 -5
- data/lib/temporalio/client.rb +247 -44
- data/lib/temporalio/common_enums.rb +17 -0
- data/lib/temporalio/contrib/open_telemetry.rb +470 -0
- data/lib/temporalio/converters/data_converter.rb +4 -7
- data/lib/temporalio/converters/failure_converter.rb +5 -3
- data/lib/temporalio/converters/payload_converter/composite.rb +4 -0
- data/lib/temporalio/converters/payload_converter.rb +6 -8
- data/lib/temporalio/converters/raw_value.rb +20 -0
- data/lib/temporalio/error/failure.rb +1 -1
- data/lib/temporalio/error.rb +11 -2
- data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +1 -1
- data/lib/temporalio/internal/bridge/api/common/common.rb +2 -1
- data/lib/temporalio/internal/bridge/api/core_interface.rb +5 -1
- data/lib/temporalio/internal/bridge/api/nexus/nexus.rb +33 -0
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +5 -1
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +4 -1
- data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +2 -1
- data/lib/temporalio/internal/bridge/client.rb +11 -6
- data/lib/temporalio/internal/bridge/runtime.rb +3 -0
- data/lib/temporalio/internal/bridge/testing.rb +23 -0
- data/lib/temporalio/internal/bridge/worker.rb +2 -0
- data/lib/temporalio/internal/bridge.rb +1 -1
- data/lib/temporalio/internal/client/implementation.rb +468 -71
- data/lib/temporalio/internal/metric.rb +122 -0
- data/lib/temporalio/internal/proto_utils.rb +118 -7
- data/lib/temporalio/internal/worker/activity_worker.rb +69 -29
- data/lib/temporalio/internal/worker/multi_runner.rb +53 -9
- data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +54 -0
- data/lib/temporalio/internal/worker/workflow_instance/context.rb +383 -0
- data/lib/temporalio/internal/worker/workflow_instance/details.rb +46 -0
- data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +32 -0
- data/lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb +22 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_execution.rb +25 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_hash.rb +41 -0
- data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +97 -0
- data/lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb +62 -0
- data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +400 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb +37 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb +40 -0
- data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +183 -0
- data/lib/temporalio/internal/worker/workflow_instance.rb +774 -0
- data/lib/temporalio/internal/worker/workflow_worker.rb +239 -0
- data/lib/temporalio/metric.rb +109 -0
- data/lib/temporalio/retry_policy.rb +37 -14
- data/lib/temporalio/runtime/metric_buffer.rb +94 -0
- data/lib/temporalio/runtime.rb +160 -79
- data/lib/temporalio/search_attributes.rb +93 -37
- data/lib/temporalio/testing/activity_environment.rb +44 -16
- data/lib/temporalio/testing/workflow_environment.rb +276 -7
- data/lib/temporalio/version.rb +1 -1
- data/lib/temporalio/worker/activity_executor/thread_pool.rb +9 -217
- data/lib/temporalio/worker/activity_executor.rb +3 -3
- data/lib/temporalio/worker/interceptor.rb +343 -66
- data/lib/temporalio/worker/thread_pool.rb +237 -0
- data/lib/temporalio/worker/tuner.rb +38 -0
- data/lib/temporalio/worker/workflow_executor/thread_pool.rb +235 -0
- data/lib/temporalio/worker/workflow_executor.rb +26 -0
- data/lib/temporalio/worker/workflow_replayer.rb +350 -0
- data/lib/temporalio/worker.rb +235 -58
- data/lib/temporalio/workflow/activity_cancellation_type.rb +20 -0
- data/lib/temporalio/workflow/child_workflow_cancellation_type.rb +21 -0
- data/lib/temporalio/workflow/child_workflow_handle.rb +43 -0
- data/lib/temporalio/workflow/definition.rb +598 -0
- data/lib/temporalio/workflow/external_workflow_handle.rb +41 -0
- data/lib/temporalio/workflow/future.rb +151 -0
- data/lib/temporalio/workflow/handler_unfinished_policy.rb +13 -0
- data/lib/temporalio/workflow/info.rb +104 -0
- data/lib/temporalio/workflow/parent_close_policy.rb +19 -0
- data/lib/temporalio/workflow/update_info.rb +20 -0
- data/lib/temporalio/workflow.rb +575 -0
- data/lib/temporalio/workflow_history.rb +26 -1
- data/lib/temporalio.rb +4 -0
- data/temporalio.gemspec +4 -3
- metadata +73 -10
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: temporalio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Temporal Technologies Inc
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: google-protobuf
|
@@ -16,15 +15,28 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
18
|
+
version: 3.25.0
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
23
|
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
27
|
-
|
25
|
+
version: 3.25.0
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: logger
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
28
40
|
email:
|
29
41
|
- sdk@temporal.io
|
30
42
|
executables: []
|
@@ -32,6 +44,7 @@ extensions:
|
|
32
44
|
- ext/Cargo.toml
|
33
45
|
extra_rdoc_files: []
|
34
46
|
files:
|
47
|
+
- ".yardopts"
|
35
48
|
- Cargo.lock
|
36
49
|
- Cargo.toml
|
37
50
|
- Gemfile
|
@@ -46,23 +59,32 @@ files:
|
|
46
59
|
- lib/temporalio/activity/definition.rb
|
47
60
|
- lib/temporalio/activity/info.rb
|
48
61
|
- lib/temporalio/api.rb
|
62
|
+
- lib/temporalio/api/activity/v1/message.rb
|
49
63
|
- lib/temporalio/api/batch/v1/message.rb
|
64
|
+
- lib/temporalio/api/cloud/account/v1/message.rb
|
50
65
|
- lib/temporalio/api/cloud/cloudservice.rb
|
51
66
|
- lib/temporalio/api/cloud/cloudservice/v1/request_response.rb
|
52
67
|
- lib/temporalio/api/cloud/cloudservice/v1/service.rb
|
53
68
|
- lib/temporalio/api/cloud/identity/v1/message.rb
|
54
69
|
- lib/temporalio/api/cloud/namespace/v1/message.rb
|
70
|
+
- lib/temporalio/api/cloud/nexus/v1/message.rb
|
55
71
|
- lib/temporalio/api/cloud/operation/v1/message.rb
|
56
72
|
- lib/temporalio/api/cloud/region/v1/message.rb
|
73
|
+
- lib/temporalio/api/cloud/resource/v1/message.rb
|
74
|
+
- lib/temporalio/api/cloud/sink/v1/message.rb
|
75
|
+
- lib/temporalio/api/cloud/usage/v1/message.rb
|
57
76
|
- lib/temporalio/api/command/v1/message.rb
|
58
77
|
- lib/temporalio/api/common/v1/grpc_status.rb
|
59
78
|
- lib/temporalio/api/common/v1/message.rb
|
79
|
+
- lib/temporalio/api/deployment/v1/message.rb
|
60
80
|
- lib/temporalio/api/enums/v1/batch_operation.rb
|
61
81
|
- lib/temporalio/api/enums/v1/command_type.rb
|
62
82
|
- lib/temporalio/api/enums/v1/common.rb
|
83
|
+
- lib/temporalio/api/enums/v1/deployment.rb
|
63
84
|
- lib/temporalio/api/enums/v1/event_type.rb
|
64
85
|
- lib/temporalio/api/enums/v1/failed_cause.rb
|
65
86
|
- lib/temporalio/api/enums/v1/namespace.rb
|
87
|
+
- lib/temporalio/api/enums/v1/nexus.rb
|
66
88
|
- lib/temporalio/api/enums/v1/query.rb
|
67
89
|
- lib/temporalio/api/enums/v1/reset.rb
|
68
90
|
- lib/temporalio/api/enums/v1/schedule.rb
|
@@ -79,6 +101,7 @@ files:
|
|
79
101
|
- lib/temporalio/api/operatorservice.rb
|
80
102
|
- lib/temporalio/api/operatorservice/v1/request_response.rb
|
81
103
|
- lib/temporalio/api/operatorservice/v1/service.rb
|
104
|
+
- lib/temporalio/api/payload_visitor.rb
|
82
105
|
- lib/temporalio/api/protocol/v1/message.rb
|
83
106
|
- lib/temporalio/api/query/v1/message.rb
|
84
107
|
- lib/temporalio/api/replication/v1/message.rb
|
@@ -88,6 +111,8 @@ files:
|
|
88
111
|
- lib/temporalio/api/sdk/v1/user_metadata.rb
|
89
112
|
- lib/temporalio/api/sdk/v1/workflow_metadata.rb
|
90
113
|
- lib/temporalio/api/taskqueue/v1/message.rb
|
114
|
+
- lib/temporalio/api/testservice/v1/request_response.rb
|
115
|
+
- lib/temporalio/api/testservice/v1/service.rb
|
91
116
|
- lib/temporalio/api/update/v1/message.rb
|
92
117
|
- lib/temporalio/api/version/v1/message.rb
|
93
118
|
- lib/temporalio/api/workflow/v1/message.rb
|
@@ -102,8 +127,12 @@ files:
|
|
102
127
|
- lib/temporalio/client/connection/cloud_service.rb
|
103
128
|
- lib/temporalio/client/connection/operator_service.rb
|
104
129
|
- lib/temporalio/client/connection/service.rb
|
130
|
+
- lib/temporalio/client/connection/test_service.rb
|
105
131
|
- lib/temporalio/client/connection/workflow_service.rb
|
106
132
|
- lib/temporalio/client/interceptor.rb
|
133
|
+
- lib/temporalio/client/schedule.rb
|
134
|
+
- lib/temporalio/client/schedule_handle.rb
|
135
|
+
- lib/temporalio/client/with_start_workflow_operation.rb
|
107
136
|
- lib/temporalio/client/workflow_execution.rb
|
108
137
|
- lib/temporalio/client/workflow_execution_count.rb
|
109
138
|
- lib/temporalio/client/workflow_execution_status.rb
|
@@ -112,6 +141,7 @@ files:
|
|
112
141
|
- lib/temporalio/client/workflow_update_handle.rb
|
113
142
|
- lib/temporalio/client/workflow_update_wait_stage.rb
|
114
143
|
- lib/temporalio/common_enums.rb
|
144
|
+
- lib/temporalio/contrib/open_telemetry.rb
|
115
145
|
- lib/temporalio/converters.rb
|
116
146
|
- lib/temporalio/converters/data_converter.rb
|
117
147
|
- lib/temporalio/converters/failure_converter.rb
|
@@ -124,6 +154,7 @@ files:
|
|
124
154
|
- lib/temporalio/converters/payload_converter/encoding.rb
|
125
155
|
- lib/temporalio/converters/payload_converter/json_plain.rb
|
126
156
|
- lib/temporalio/converters/payload_converter/json_protobuf.rb
|
157
|
+
- lib/temporalio/converters/raw_value.rb
|
127
158
|
- lib/temporalio/error.rb
|
128
159
|
- lib/temporalio/error/failure.rb
|
129
160
|
- lib/temporalio/internal.rb
|
@@ -135,6 +166,7 @@ files:
|
|
135
166
|
- lib/temporalio/internal/bridge/api/common/common.rb
|
136
167
|
- lib/temporalio/internal/bridge/api/core_interface.rb
|
137
168
|
- lib/temporalio/internal/bridge/api/external_data/external_data.rb
|
169
|
+
- lib/temporalio/internal/bridge/api/nexus/nexus.rb
|
138
170
|
- lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb
|
139
171
|
- lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb
|
140
172
|
- lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb
|
@@ -143,11 +175,29 @@ files:
|
|
143
175
|
- lib/temporalio/internal/bridge/testing.rb
|
144
176
|
- lib/temporalio/internal/bridge/worker.rb
|
145
177
|
- lib/temporalio/internal/client/implementation.rb
|
178
|
+
- lib/temporalio/internal/metric.rb
|
146
179
|
- lib/temporalio/internal/proto_utils.rb
|
147
180
|
- lib/temporalio/internal/worker/activity_worker.rb
|
148
181
|
- lib/temporalio/internal/worker/multi_runner.rb
|
182
|
+
- lib/temporalio/internal/worker/workflow_instance.rb
|
183
|
+
- lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb
|
184
|
+
- lib/temporalio/internal/worker/workflow_instance/context.rb
|
185
|
+
- lib/temporalio/internal/worker/workflow_instance/details.rb
|
186
|
+
- lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb
|
187
|
+
- lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb
|
188
|
+
- lib/temporalio/internal/worker/workflow_instance/handler_execution.rb
|
189
|
+
- lib/temporalio/internal/worker/workflow_instance/handler_hash.rb
|
190
|
+
- lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb
|
191
|
+
- lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb
|
192
|
+
- lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb
|
193
|
+
- lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb
|
194
|
+
- lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb
|
195
|
+
- lib/temporalio/internal/worker/workflow_instance/scheduler.rb
|
196
|
+
- lib/temporalio/internal/worker/workflow_worker.rb
|
197
|
+
- lib/temporalio/metric.rb
|
149
198
|
- lib/temporalio/retry_policy.rb
|
150
199
|
- lib/temporalio/runtime.rb
|
200
|
+
- lib/temporalio/runtime/metric_buffer.rb
|
151
201
|
- lib/temporalio/scoped_logger.rb
|
152
202
|
- lib/temporalio/search_attributes.rb
|
153
203
|
- lib/temporalio/testing.rb
|
@@ -159,7 +209,22 @@ files:
|
|
159
209
|
- lib/temporalio/worker/activity_executor/fiber.rb
|
160
210
|
- lib/temporalio/worker/activity_executor/thread_pool.rb
|
161
211
|
- lib/temporalio/worker/interceptor.rb
|
212
|
+
- lib/temporalio/worker/thread_pool.rb
|
162
213
|
- lib/temporalio/worker/tuner.rb
|
214
|
+
- lib/temporalio/worker/workflow_executor.rb
|
215
|
+
- lib/temporalio/worker/workflow_executor/thread_pool.rb
|
216
|
+
- lib/temporalio/worker/workflow_replayer.rb
|
217
|
+
- lib/temporalio/workflow.rb
|
218
|
+
- lib/temporalio/workflow/activity_cancellation_type.rb
|
219
|
+
- lib/temporalio/workflow/child_workflow_cancellation_type.rb
|
220
|
+
- lib/temporalio/workflow/child_workflow_handle.rb
|
221
|
+
- lib/temporalio/workflow/definition.rb
|
222
|
+
- lib/temporalio/workflow/external_workflow_handle.rb
|
223
|
+
- lib/temporalio/workflow/future.rb
|
224
|
+
- lib/temporalio/workflow/handler_unfinished_policy.rb
|
225
|
+
- lib/temporalio/workflow/info.rb
|
226
|
+
- lib/temporalio/workflow/parent_close_policy.rb
|
227
|
+
- lib/temporalio/workflow/update_info.rb
|
163
228
|
- lib/temporalio/workflow_history.rb
|
164
229
|
- temporalio.gemspec
|
165
230
|
homepage: https://github.com/temporalio/sdk-ruby
|
@@ -169,7 +234,6 @@ metadata:
|
|
169
234
|
homepage_uri: https://github.com/temporalio/sdk-ruby
|
170
235
|
source_code_uri: https://github.com/temporalio/sdk-ruby
|
171
236
|
rubygems_mfa_required: 'true'
|
172
|
-
post_install_message:
|
173
237
|
rdoc_options: []
|
174
238
|
require_paths:
|
175
239
|
- lib
|
@@ -177,15 +241,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
241
|
requirements:
|
178
242
|
- - ">="
|
179
243
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
244
|
+
version: '0'
|
181
245
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
246
|
requirements:
|
183
247
|
- - ">="
|
184
248
|
- !ruby/object:Gem::Version
|
185
249
|
version: '0'
|
186
250
|
requirements: []
|
187
|
-
rubygems_version: 3.
|
188
|
-
signing_key:
|
251
|
+
rubygems_version: 3.6.7
|
189
252
|
specification_version: 4
|
190
253
|
summary: Temporal.io Ruby SDK
|
191
254
|
test_files: []
|