temporalio 1.9.0-aarch64-linux → 1.10.0-aarch64-linux
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/Rakefile +28 -0
- data/lib/temporalio/api/activity/v1/message.rb +2 -1
- data/lib/temporalio/api/callback/v1/message.rb +1 -1
- data/lib/temporalio/api/common/v1/message.rb +3 -1
- data/lib/temporalio/api/compute/v1/config.rb +1 -1
- data/lib/temporalio/api/enums/v1/common.rb +1 -1
- data/lib/temporalio/api/enums/v1/failed_cause.rb +2 -1
- data/lib/temporalio/api/export/v1/message.rb +4 -1
- data/lib/temporalio/api/history/v1/message.rb +2 -1
- data/lib/temporalio/api/nexus/v1/message.rb +2 -1
- data/lib/temporalio/api/nexusoperation/v1/message.rb +26 -0
- data/lib/temporalio/api/notificationservice/v1/request_response.rb +25 -0
- data/lib/temporalio/api/payload_visitor.rb +54 -0
- data/lib/temporalio/api/replication/v1/message.rb +2 -1
- data/lib/temporalio/api/update/v1/message.rb +2 -1
- data/lib/temporalio/api/worker/v1/message.rb +1 -1
- data/lib/temporalio/api/workflow/v1/message.rb +2 -1
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +2 -1
- data/lib/temporalio/client/schedule.rb +8 -7
- data/lib/temporalio/client/with_start_workflow_operation.rb +1 -1
- data/lib/temporalio/client.rb +4 -4
- data/lib/temporalio/converters/external_storage.rb +90 -0
- data/lib/temporalio/converters/external_storage_concurrency.rb +52 -0
- data/lib/temporalio/converters/storage_driver.rb +56 -0
- data/lib/temporalio/converters/storage_driver_activity_info.rb +38 -0
- data/lib/temporalio/converters/storage_driver_claim.rb +30 -0
- data/lib/temporalio/converters/storage_driver_limiter.rb +37 -0
- data/lib/temporalio/converters/storage_driver_retrieve_context.rb +30 -0
- data/lib/temporalio/converters/storage_driver_select_context.rb +26 -0
- data/lib/temporalio/converters/storage_driver_store_context.rb +31 -0
- data/lib/temporalio/converters/storage_driver_workflow_info.rb +40 -0
- data/lib/temporalio/converters.rb +11 -0
- data/lib/temporalio/error/failure.rb +16 -0
- data/lib/temporalio/error.rb +17 -0
- data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.so +2 -2
- data/lib/temporalio/internal/bridge/3.4/temporalio_bridge.so +2 -2
- data/lib/temporalio/internal/bridge/4.0/temporalio_bridge.so +2 -2
- data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +2 -1
- data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +1 -1
- data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +1 -1
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +2 -1
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +3 -1
- data/lib/temporalio/internal/external_storage_references.rb +62 -0
- data/lib/temporalio/internal/worker/workflow_instance/context.rb +2 -0
- data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +21 -3
- data/lib/temporalio/testing/activity_environment.rb +1 -1
- data/lib/temporalio/testing/workflow_environment.rb +4 -4
- data/lib/temporalio/version.rb +1 -1
- data/lib/temporalio/versioning_override.rb +28 -1
- data/lib/temporalio/worker/interceptor.rb +1 -0
- data/lib/temporalio/workflow.rb +14 -4
- data/rbi/temporalio/api/activity/v1/message.rbi +39 -2
- data/rbi/temporalio/api/callback/v1/message.rbi +22 -2
- data/rbi/temporalio/api/common/v1/message.rbi +294 -4
- data/rbi/temporalio/api/compute/v1/config.rbi +39 -5
- data/rbi/temporalio/api/enums/v1/common.rbi +1 -0
- data/rbi/temporalio/api/enums/v1/failed_cause.rbi +20 -0
- data/rbi/temporalio/api/export/v1/message.rbi +136 -2
- data/rbi/temporalio/api/history/v1/message.rbi +38 -4
- data/rbi/temporalio/api/nexus/v1/message.rbi +88 -0
- data/rbi/temporalio/api/nexusoperation/v1/message.rbi +287 -0
- data/rbi/temporalio/api/notificationservice/v1/request_response.rbi +151 -0
- data/rbi/temporalio/api/payload_visitor.rbi +21 -0
- data/rbi/temporalio/api/replication/v1/message.rbi +22 -2
- data/rbi/temporalio/api/update/v1/message.rbi +19 -2
- data/rbi/temporalio/api/worker/v1/message.rbi +2 -0
- data/rbi/temporalio/api/workflow/v1/message.rbi +41 -4
- data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +294 -20
- data/rbi/temporalio/api/workflowservice/v1/service_services.rbi +0 -13
- data/rbi/temporalio/client/schedule.rbi +2 -2
- data/rbi/temporalio/converters/external_storage.rbi +49 -0
- data/rbi/temporalio/converters/external_storage_concurrency.rbi +26 -0
- data/rbi/temporalio/converters/storage_driver.rbi +27 -0
- data/rbi/temporalio/converters/storage_driver_activity_info.rbi +36 -0
- data/rbi/temporalio/converters/storage_driver_claim.rbi +20 -0
- data/rbi/temporalio/converters/storage_driver_limiter.rbi +13 -0
- data/rbi/temporalio/converters/storage_driver_retrieve_context.rbi +23 -0
- data/rbi/temporalio/converters/storage_driver_select_context.rbi +42 -0
- data/rbi/temporalio/converters/storage_driver_store_context.rbi +46 -0
- data/rbi/temporalio/converters/storage_driver_workflow_info.rbi +36 -0
- data/rbi/temporalio/error.rbi +17 -0
- data/rbi/temporalio/internal/bridge/api/activity_result/activity_result.rbi +41 -2
- data/rbi/temporalio/internal/bridge/api/child_workflow/child_workflow.rbi +2 -0
- data/rbi/temporalio/internal/bridge/api/external_data/external_data.rbi +29 -2
- data/rbi/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbi +88 -14
- data/rbi/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rbi +91 -6
- data/rbi/temporalio/internal/external_storage_references.rbi +26 -0
- data/rbi/temporalio/internal/worker/workflow_instance/context.rbi +2 -0
- data/rbi/temporalio/versioning_override.rbi +8 -0
- data/rbi/temporalio/worker/interceptor.rbi +3 -0
- data/rbi/temporalio/workflow.rbi +4 -0
- data/sig/temporalio/api/activity/v1/message.rbs +18 -0
- data/sig/temporalio/api/callback/v1/message.rbs +10 -0
- data/sig/temporalio/api/common/v1/message.rbs +133 -4
- data/sig/temporalio/api/compute/v1/config.rbs +17 -1
- data/sig/temporalio/api/enums/v1/common.rbs +7 -4
- data/sig/temporalio/api/enums/v1/failed_cause.rbs +42 -5
- data/sig/temporalio/api/export/v1/message.rbs +50 -2
- data/sig/temporalio/api/history/v1/message.rbs +19 -0
- data/sig/temporalio/api/nexus/v1/message.rbs +37 -0
- data/sig/temporalio/api/nexusoperation/v1/message.rbs +125 -0
- data/sig/temporalio/api/notificationservice/v1/request_response.rbs +81 -0
- data/sig/temporalio/api/payload_visitor.rbs +7 -0
- data/sig/temporalio/api/replication/v1/message.rbs +11 -0
- data/sig/temporalio/api/update/v1/message.rbs +9 -0
- data/sig/temporalio/api/worker/v1/message.rbs +9 -3
- data/sig/temporalio/api/workflow/v1/message.rbs +19 -0
- data/sig/temporalio/api/workflowservice/v1/request_response.rbs +136 -0
- data/sig/temporalio/client/schedule.rbs +3 -2
- data/sig/temporalio/converters/external_storage.rbs +25 -0
- data/sig/temporalio/converters/external_storage_concurrency.rbs +16 -0
- data/sig/temporalio/converters/storage_driver.rbs +16 -0
- data/sig/temporalio/converters/storage_driver_activity_info.rbs +17 -0
- data/sig/temporalio/converters/storage_driver_claim.rbs +9 -0
- data/sig/temporalio/converters/storage_driver_limiter.rbs +7 -0
- data/sig/temporalio/converters/storage_driver_retrieve_context.rbs +13 -0
- data/sig/temporalio/converters/storage_driver_select_context.rbs +13 -0
- data/sig/temporalio/converters/storage_driver_store_context.rbs +15 -0
- data/sig/temporalio/converters/storage_driver_target_info.rbs +5 -0
- data/sig/temporalio/converters/storage_driver_workflow_info.rbs +17 -0
- data/sig/temporalio/error/failure.rbs +8 -0
- data/sig/temporalio/error.rbs +4 -0
- data/sig/temporalio/internal/bridge/api/activity_result/activity_result.rbs +46 -0
- data/sig/temporalio/internal/bridge/api/child_workflow/child_workflow.rbs +7 -3
- data/sig/temporalio/internal/bridge/api/external_data/external_data.rbs +16 -0
- data/sig/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbs +42 -2
- data/sig/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rbs +42 -0
- data/sig/temporalio/internal/external_storage_references.rbs +18 -0
- data/sig/temporalio/internal/worker/workflow_instance/context.rbs +1 -0
- data/sig/temporalio/testing/activity_environment.rbs +1 -1
- data/sig/temporalio/versioning_override.rbs +7 -0
- data/sig/temporalio/worker/interceptor.rbs +2 -0
- data/sig/temporalio/workflow.rbs +2 -0
- data/temporalio.gemspec +1 -0
- metadata +56 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'temporalio/api'
|
|
4
|
+
require 'temporalio/api/sdk/v1/external_storage'
|
|
5
|
+
|
|
6
|
+
module Temporalio
|
|
7
|
+
module Internal
|
|
8
|
+
# The on-the-wire form of a payload that has been offloaded to external storage.
|
|
9
|
+
#
|
|
10
|
+
# An offloaded payload is replaced by one whose data is the proto-JSON form of an
|
|
11
|
+
# +ExternalStorageReference+. This shape is part of the wire contract and must not be changed unilaterally.
|
|
12
|
+
#
|
|
13
|
+
# @!visibility private
|
|
14
|
+
module ExternalStorageReferences
|
|
15
|
+
ENCODING = 'json/protobuf'
|
|
16
|
+
MESSAGE_TYPE = 'temporal.api.sdk.v1.ExternalStorageReference'
|
|
17
|
+
|
|
18
|
+
class << self
|
|
19
|
+
# @param payload [Api::Common::V1::Payload] Payload to check.
|
|
20
|
+
# @return [Boolean] Whether the payload is a reference to externally stored data.
|
|
21
|
+
def reference?(payload)
|
|
22
|
+
payload.metadata['encoding'] == ENCODING && payload.metadata['messageType'] == MESSAGE_TYPE
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @param payload [Api::Common::V1::Payload] Payload to parse.
|
|
26
|
+
# @return [Api::Sdk::V1::ExternalStorageReference, nil] Parsed reference, or nil if not a reference.
|
|
27
|
+
#
|
|
28
|
+
# TODO: Surface parse failures as a Temporal error instead of Google::Protobuf::ParseError. The runner is the
|
|
29
|
+
# right layer for it, since only the caller knows which payload failed; a malformed reference cannot name its
|
|
30
|
+
# own driver.
|
|
31
|
+
def parse_reference(payload)
|
|
32
|
+
return nil unless reference?(payload)
|
|
33
|
+
|
|
34
|
+
# Another SDK may add fields to the reference before this one knows about them, and an unknown field must
|
|
35
|
+
# not make an otherwise-valid payload unreadable.
|
|
36
|
+
Api::Sdk::V1::ExternalStorageReference.decode_json(
|
|
37
|
+
payload.data, ignore_unknown_fields: true
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @param driver_name [String] Name of the driver that stored the payload.
|
|
42
|
+
# @param claim_data [Hash<String, String>] Driver data identifying the stored payload.
|
|
43
|
+
# @param original_size_bytes [Integer] Encoded size of the payload that was offloaded.
|
|
44
|
+
# @return [Api::Common::V1::Payload] Reference payload that replaces the offloaded payload on the wire.
|
|
45
|
+
def create_reference_payload(driver_name:, claim_data:, original_size_bytes:)
|
|
46
|
+
reference = Api::Sdk::V1::ExternalStorageReference.new(
|
|
47
|
+
driver_name:, claim_data: claim_data.to_h
|
|
48
|
+
)
|
|
49
|
+
Api::Common::V1::Payload.new(
|
|
50
|
+
metadata: { 'encoding' => ENCODING.b, 'messageType' => MESSAGE_TYPE.b },
|
|
51
|
+
data: reference.to_json.b,
|
|
52
|
+
# The original size is kept so the server and UI can report what the payload would have been without
|
|
53
|
+
# having to fetch it from storage.
|
|
54
|
+
external_payloads: [
|
|
55
|
+
Api::Common::V1::Payload::ExternalPayloadDetails.new(size_bytes: original_size_bytes)
|
|
56
|
+
]
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -298,6 +298,7 @@ module Temporalio
|
|
|
298
298
|
memo:,
|
|
299
299
|
search_attributes:,
|
|
300
300
|
priority:,
|
|
301
|
+
versioning_override:,
|
|
301
302
|
arg_hints:,
|
|
302
303
|
result_hint:
|
|
303
304
|
)
|
|
@@ -323,6 +324,7 @@ module Temporalio
|
|
|
323
324
|
memo:,
|
|
324
325
|
search_attributes:,
|
|
325
326
|
priority:,
|
|
327
|
+
versioning_override:,
|
|
326
328
|
arg_hints: arg_hints || defn_arg_hints,
|
|
327
329
|
result_hint: result_hint || defn_result_hint,
|
|
328
330
|
headers: {}
|
|
@@ -367,7 +367,8 @@ module Temporalio
|
|
|
367
367
|
memo: ProtoUtils.memo_to_proto_hash(input.memo, @instance.payload_converter),
|
|
368
368
|
search_attributes: input.search_attributes&._to_proto,
|
|
369
369
|
cancellation_type: input.cancellation_type,
|
|
370
|
-
priority: input.priority._to_proto
|
|
370
|
+
priority: input.priority._to_proto,
|
|
371
|
+
versioning_override: input.versioning_override&._to_proto
|
|
371
372
|
),
|
|
372
373
|
user_metadata: ProtoUtils.to_user_metadata(
|
|
373
374
|
input.static_summary, input.static_details, @instance.payload_converter
|
|
@@ -415,14 +416,31 @@ module Temporalio
|
|
|
415
416
|
when :failed
|
|
416
417
|
# Remove cancel callback and handle failure
|
|
417
418
|
input.cancellation.remove_cancel_callback(cancel_callback_key)
|
|
418
|
-
|
|
419
|
+
case resolution.failed.cause
|
|
420
|
+
when :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS
|
|
419
421
|
raise Error::WorkflowAlreadyStartedError.new(
|
|
420
422
|
workflow_id: resolution.failed.workflow_id,
|
|
421
423
|
workflow_type: resolution.failed.workflow_type,
|
|
422
424
|
run_id: nil
|
|
423
425
|
)
|
|
426
|
+
when :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_INVALID_VERSIONING_OVERRIDE
|
|
427
|
+
cause = Error::InvalidVersioningOverrideError.new
|
|
428
|
+
when :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND
|
|
429
|
+
cause = Error::NamespaceNotFoundError.new
|
|
430
|
+
else
|
|
431
|
+
raise "Unknown child start fail cause: #{resolution.failed.cause}"
|
|
424
432
|
end
|
|
425
|
-
|
|
433
|
+
# Core does not supply event IDs or a run ID when the child never started.
|
|
434
|
+
raise Error::ChildWorkflowError.new(
|
|
435
|
+
'Child workflow failed to start',
|
|
436
|
+
namespace: @instance.info.namespace,
|
|
437
|
+
workflow_id: resolution.failed.workflow_id,
|
|
438
|
+
run_id: '',
|
|
439
|
+
workflow_type: resolution.failed.workflow_type,
|
|
440
|
+
initiated_event_id: 0,
|
|
441
|
+
started_event_id: 0,
|
|
442
|
+
retry_state: nil
|
|
443
|
+
), cause: cause
|
|
426
444
|
when :cancelled
|
|
427
445
|
# Remove cancel callback and handle cancel
|
|
428
446
|
input.cancellation.remove_cancel_callback(cancel_callback_key)
|
|
@@ -23,8 +23,8 @@ module Temporalio
|
|
|
23
23
|
|
|
24
24
|
# Start a local dev server. This is a full Temporal dev server from the CLI that by default downloaded to tmp if
|
|
25
25
|
# not already present. The dev server is run as a child process. All options that start with +dev_server_+ are for
|
|
26
|
-
# this specific implementation
|
|
27
|
-
#
|
|
26
|
+
# this specific implementation. If that implementation changes, these options and their values may no longer be
|
|
27
|
+
# valid.
|
|
28
28
|
#
|
|
29
29
|
# If a block is given it is passed the environment and the environment is shut down after. If a block is not
|
|
30
30
|
# given, the environment is returned and {shutdown} needs to be called manually.
|
|
@@ -124,8 +124,8 @@ module Temporalio
|
|
|
124
124
|
|
|
125
125
|
# Start a time-skipping test server. This server can skip time but may not have all of the Temporal features of
|
|
126
126
|
# the {start_local} form. By default, the server is downloaded to tmp if not already present. The test server is
|
|
127
|
-
# run as a child process. All options that start with +test_server_+ are for this specific implementation
|
|
128
|
-
#
|
|
127
|
+
# run as a child process. All options that start with +test_server_+ are for this specific implementation. If that
|
|
128
|
+
# implementation changes, these options and their values may no longer be valid.
|
|
129
129
|
#
|
|
130
130
|
# If a block is given it is passed the environment and the environment is shut down after. If a block is not
|
|
131
131
|
# given, the environment is returned and {shutdown} needs to be called manually.
|
data/lib/temporalio/version.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require 'temporalio/worker_deployment_version'
|
|
4
4
|
|
|
5
5
|
module Temporalio
|
|
6
|
-
# Base class for version overrides that can be provided
|
|
6
|
+
# Base class for version overrides that can be provided when starting workflows, including child workflows.
|
|
7
7
|
# Used to control the versioning behavior of workflows started with this override.
|
|
8
8
|
class VersioningOverride
|
|
9
9
|
# @!visibility private
|
|
@@ -50,5 +50,32 @@ module Temporalio
|
|
|
50
50
|
)
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
|
+
|
|
54
|
+
# Routes workflow tasks to a target deployment version until a task completes there, then clears the override.
|
|
55
|
+
# Subsequent tasks follow the workflow's normal versioning behavior.
|
|
56
|
+
#
|
|
57
|
+
# Requires Temporal Server 1.32.0 or later.
|
|
58
|
+
# WARNING: This override is experimental.
|
|
59
|
+
class OneTime < VersioningOverride
|
|
60
|
+
# @return [WorkerDeploymentVersion] Target worker deployment version.
|
|
61
|
+
attr_reader :target_version
|
|
62
|
+
|
|
63
|
+
# Create a one-time versioning override.
|
|
64
|
+
#
|
|
65
|
+
# @param target_version [WorkerDeploymentVersion] Target worker deployment version.
|
|
66
|
+
def initialize(target_version)
|
|
67
|
+
@target_version = target_version
|
|
68
|
+
super()
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# @!visibility private
|
|
72
|
+
def _to_proto
|
|
73
|
+
Api::Workflow::V1::VersioningOverride.new(
|
|
74
|
+
one_time: Api::Workflow::V1::VersioningOverride::OneTimeOverride.new(
|
|
75
|
+
target_deployment_version: @target_version._to_proto
|
|
76
|
+
)
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
53
80
|
end
|
|
54
81
|
end
|
data/lib/temporalio/workflow.rb
CHANGED
|
@@ -4,6 +4,7 @@ require 'random/formatter'
|
|
|
4
4
|
require 'temporalio/error'
|
|
5
5
|
require 'temporalio/internal/worker/workflow_instance'
|
|
6
6
|
require 'temporalio/priority'
|
|
7
|
+
require 'temporalio/versioning_override'
|
|
7
8
|
require 'temporalio/workflow/activity_cancellation_type'
|
|
8
9
|
require 'temporalio/workflow/child_workflow_cancellation_type'
|
|
9
10
|
require 'temporalio/workflow/child_workflow_handle'
|
|
@@ -158,7 +159,7 @@ module Temporalio
|
|
|
158
159
|
# optimization on some servers that sends activities back to the same worker as the calling workflow if they can
|
|
159
160
|
# run there. If `false` (the default), eager execution may still be disabled at the worker level or may not be
|
|
160
161
|
# requested due to lack of available slots.
|
|
161
|
-
# @param priority [Priority] Priority of the activity.
|
|
162
|
+
# @param priority [Priority] Priority of the activity.
|
|
162
163
|
# @param arg_hints [Array<Object>, nil] Overrides converter hints for arguments if any. If unset/nil and the
|
|
163
164
|
# activity definition has arg hints, those are used by default.
|
|
164
165
|
# @param result_hint [Object, nil] Overrides converter hint for result if any. If unset/nil and the activity
|
|
@@ -214,6 +215,7 @@ module Temporalio
|
|
|
214
215
|
memo: nil,
|
|
215
216
|
search_attributes: nil,
|
|
216
217
|
priority: Priority.default,
|
|
218
|
+
versioning_override: nil,
|
|
217
219
|
arg_hints: nil,
|
|
218
220
|
result_hint: nil
|
|
219
221
|
)
|
|
@@ -221,7 +223,8 @@ module Temporalio
|
|
|
221
223
|
workflow, *args,
|
|
222
224
|
id:, task_queue:, static_summary:, static_details:, cancellation:, cancellation_type:,
|
|
223
225
|
parent_close_policy:, execution_timeout:, run_timeout:, task_timeout:, id_reuse_policy:,
|
|
224
|
-
retry_policy:, cron_schedule:, memo:, search_attributes:, priority:,
|
|
226
|
+
retry_policy:, cron_schedule:, memo:, search_attributes:, priority:, versioning_override:,
|
|
227
|
+
arg_hints:, result_hint:
|
|
225
228
|
).result
|
|
226
229
|
end
|
|
227
230
|
|
|
@@ -424,7 +427,10 @@ module Temporalio
|
|
|
424
427
|
# @param cron_schedule [String, nil] Cron schedule. Users should use schedules instead of this.
|
|
425
428
|
# @param memo [Hash{String, Symbol => Object}, nil] Memo for the workflow.
|
|
426
429
|
# @param search_attributes [SearchAttributes, nil] Search attributes for the workflow.
|
|
427
|
-
# @param priority [Priority] Priority of the workflow.
|
|
430
|
+
# @param priority [Priority] Priority of the workflow.
|
|
431
|
+
# @param versioning_override [VersioningOverride, nil] Override the child's versioning independently of its parent.
|
|
432
|
+
# If unset, normal versioning inheritance applies. Requires Temporal Server 1.32.0 or later.
|
|
433
|
+
# WARNING: This option is experimental.
|
|
428
434
|
# @param arg_hints [Array<Object>, nil] Overrides converter hints for arguments if any. If unset/nil and the
|
|
429
435
|
# workflow definition has arg hints, those are used by default.
|
|
430
436
|
# @param result_hint [Object, nil] Overrides converter hint for result if any. If unset/nil and the workflow
|
|
@@ -432,6 +438,8 @@ module Temporalio
|
|
|
432
438
|
#
|
|
433
439
|
# @return [ChildWorkflowHandle] Workflow handle to the started workflow.
|
|
434
440
|
# @raise [Error::WorkflowAlreadyStartedError] Workflow already exists for the ID.
|
|
441
|
+
# @raise [Error::ChildWorkflowError] Child could not start. The cause is {Error::InvalidVersioningOverrideError}
|
|
442
|
+
# for an invalid versioning override or {Error::NamespaceNotFoundError} for a missing namespace.
|
|
435
443
|
# @raise [Error::CanceledError] Starting of the child was canceled.
|
|
436
444
|
def self.start_child_workflow(
|
|
437
445
|
workflow,
|
|
@@ -452,6 +460,7 @@ module Temporalio
|
|
|
452
460
|
memo: nil,
|
|
453
461
|
search_attributes: nil,
|
|
454
462
|
priority: Priority.default,
|
|
463
|
+
versioning_override: nil,
|
|
455
464
|
arg_hints: nil,
|
|
456
465
|
result_hint: nil
|
|
457
466
|
)
|
|
@@ -459,7 +468,8 @@ module Temporalio
|
|
|
459
468
|
workflow, *args,
|
|
460
469
|
id:, task_queue:, static_summary:, static_details:, cancellation:, cancellation_type:,
|
|
461
470
|
parent_close_policy:, execution_timeout:, run_timeout:, task_timeout:, id_reuse_policy:,
|
|
462
|
-
retry_policy:, cron_schedule:, memo:, search_attributes:, priority:,
|
|
471
|
+
retry_policy:, cron_schedule:, memo:, search_attributes:, priority:, versioning_override:,
|
|
472
|
+
arg_hints:, result_hint:
|
|
463
473
|
)
|
|
464
474
|
end
|
|
465
475
|
|
|
@@ -382,7 +382,9 @@ class Temporalio::Api::Activity::V1::ActivityExecutionInfo
|
|
|
382
382
|
sdk_name: T.nilable(String),
|
|
383
383
|
sdk_version: T.nilable(String),
|
|
384
384
|
start_delay: T.nilable(Google::Protobuf::Duration),
|
|
385
|
-
execution_time: T.nilable(Google::Protobuf::Timestamp)
|
|
385
|
+
execution_time: T.nilable(Google::Protobuf::Timestamp),
|
|
386
|
+
propagated_nexus_serialization_context: T.nilable(Temporalio::Api::Nexus::V1::PropagatedSerializationContext),
|
|
387
|
+
eager_execution_accepted: T.nilable(T::Boolean)
|
|
386
388
|
).void
|
|
387
389
|
end
|
|
388
390
|
def initialize(
|
|
@@ -423,7 +425,9 @@ class Temporalio::Api::Activity::V1::ActivityExecutionInfo
|
|
|
423
425
|
sdk_name: "",
|
|
424
426
|
sdk_version: "",
|
|
425
427
|
start_delay: nil,
|
|
426
|
-
execution_time: nil
|
|
428
|
+
execution_time: nil,
|
|
429
|
+
propagated_nexus_serialization_context: nil,
|
|
430
|
+
eager_execution_accepted: false
|
|
427
431
|
)
|
|
428
432
|
end
|
|
429
433
|
|
|
@@ -1060,6 +1064,39 @@ class Temporalio::Api::Activity::V1::ActivityExecutionInfo
|
|
|
1060
1064
|
def clear_execution_time
|
|
1061
1065
|
end
|
|
1062
1066
|
|
|
1067
|
+
# Serialization context propagated from the Nexus caller that started this activity.
|
|
1068
|
+
sig { returns(T.nilable(Temporalio::Api::Nexus::V1::PropagatedSerializationContext)) }
|
|
1069
|
+
def propagated_nexus_serialization_context
|
|
1070
|
+
end
|
|
1071
|
+
|
|
1072
|
+
# Serialization context propagated from the Nexus caller that started this activity.
|
|
1073
|
+
sig { params(value: T.nilable(Temporalio::Api::Nexus::V1::PropagatedSerializationContext)).void }
|
|
1074
|
+
def propagated_nexus_serialization_context=(value)
|
|
1075
|
+
end
|
|
1076
|
+
|
|
1077
|
+
# Serialization context propagated from the Nexus caller that started this activity.
|
|
1078
|
+
sig { void }
|
|
1079
|
+
def clear_propagated_nexus_serialization_context
|
|
1080
|
+
end
|
|
1081
|
+
|
|
1082
|
+
# Indicates whether eager execution was requested for this activity and accepted by the server
|
|
1083
|
+
# for its first task.
|
|
1084
|
+
sig { returns(T::Boolean) }
|
|
1085
|
+
def eager_execution_accepted
|
|
1086
|
+
end
|
|
1087
|
+
|
|
1088
|
+
# Indicates whether eager execution was requested for this activity and accepted by the server
|
|
1089
|
+
# for its first task.
|
|
1090
|
+
sig { params(value: T::Boolean).void }
|
|
1091
|
+
def eager_execution_accepted=(value)
|
|
1092
|
+
end
|
|
1093
|
+
|
|
1094
|
+
# Indicates whether eager execution was requested for this activity and accepted by the server
|
|
1095
|
+
# for its first task.
|
|
1096
|
+
sig { void }
|
|
1097
|
+
def clear_eager_execution_accepted
|
|
1098
|
+
end
|
|
1099
|
+
|
|
1063
1100
|
sig { params(field: String).returns(T.untyped) }
|
|
1064
1101
|
def [](field)
|
|
1065
1102
|
end
|
|
@@ -16,7 +16,8 @@ class Temporalio::Api::Callback::V1::CallbackInfo
|
|
|
16
16
|
last_attempt_complete_time: T.nilable(Google::Protobuf::Timestamp),
|
|
17
17
|
last_attempt_failure: T.nilable(Temporalio::Api::Failure::V1::Failure),
|
|
18
18
|
next_attempt_schedule_time: T.nilable(Google::Protobuf::Timestamp),
|
|
19
|
-
blocked_reason: T.nilable(String)
|
|
19
|
+
blocked_reason: T.nilable(String),
|
|
20
|
+
request_id: T.nilable(String)
|
|
20
21
|
).void
|
|
21
22
|
end
|
|
22
23
|
def initialize(
|
|
@@ -27,7 +28,8 @@ class Temporalio::Api::Callback::V1::CallbackInfo
|
|
|
27
28
|
last_attempt_complete_time: nil,
|
|
28
29
|
last_attempt_failure: nil,
|
|
29
30
|
next_attempt_schedule_time: nil,
|
|
30
|
-
blocked_reason: ""
|
|
31
|
+
blocked_reason: "",
|
|
32
|
+
request_id: ""
|
|
31
33
|
)
|
|
32
34
|
end
|
|
33
35
|
|
|
@@ -154,6 +156,24 @@ class Temporalio::Api::Callback::V1::CallbackInfo
|
|
|
154
156
|
def clear_blocked_reason
|
|
155
157
|
end
|
|
156
158
|
|
|
159
|
+
# Server-generated request ID used as an idempotency token when invoking callbacks.
|
|
160
|
+
# It has no relation to caller-side request_id sent in operations like StartNexusOperationExecutionRequest.
|
|
161
|
+
sig { returns(String) }
|
|
162
|
+
def request_id
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Server-generated request ID used as an idempotency token when invoking callbacks.
|
|
166
|
+
# It has no relation to caller-side request_id sent in operations like StartNexusOperationExecutionRequest.
|
|
167
|
+
sig { params(value: String).void }
|
|
168
|
+
def request_id=(value)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Server-generated request ID used as an idempotency token when invoking callbacks.
|
|
172
|
+
# It has no relation to caller-side request_id sent in operations like StartNexusOperationExecutionRequest.
|
|
173
|
+
sig { void }
|
|
174
|
+
def clear_request_id
|
|
175
|
+
end
|
|
176
|
+
|
|
157
177
|
sig { params(field: String).returns(T.untyped) }
|
|
158
178
|
def [](field)
|
|
159
179
|
end
|