temporalio 0.2.0-arm64-darwin
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 +7 -0
- data/Gemfile +23 -0
- data/Rakefile +387 -0
- data/lib/temporalio/activity/complete_async_error.rb +11 -0
- data/lib/temporalio/activity/context.rb +107 -0
- data/lib/temporalio/activity/definition.rb +77 -0
- data/lib/temporalio/activity/info.rb +63 -0
- data/lib/temporalio/activity.rb +69 -0
- data/lib/temporalio/api/batch/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +93 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +25 -0
- data/lib/temporalio/api/cloud/cloudservice.rb +3 -0
- data/lib/temporalio/api/cloud/identity/v1/message.rb +36 -0
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +35 -0
- data/lib/temporalio/api/cloud/operation/v1/message.rb +27 -0
- data/lib/temporalio/api/cloud/region/v1/message.rb +23 -0
- data/lib/temporalio/api/command/v1/message.rb +46 -0
- data/lib/temporalio/api/common/v1/grpc_status.rb +23 -0
- data/lib/temporalio/api/common/v1/message.rb +41 -0
- data/lib/temporalio/api/enums/v1/batch_operation.rb +22 -0
- data/lib/temporalio/api/enums/v1/command_type.rb +21 -0
- data/lib/temporalio/api/enums/v1/common.rb +26 -0
- data/lib/temporalio/api/enums/v1/event_type.rb +21 -0
- data/lib/temporalio/api/enums/v1/failed_cause.rb +26 -0
- data/lib/temporalio/api/enums/v1/namespace.rb +23 -0
- data/lib/temporalio/api/enums/v1/query.rb +22 -0
- data/lib/temporalio/api/enums/v1/reset.rb +23 -0
- data/lib/temporalio/api/enums/v1/schedule.rb +21 -0
- data/lib/temporalio/api/enums/v1/task_queue.rb +25 -0
- data/lib/temporalio/api/enums/v1/update.rb +22 -0
- data/lib/temporalio/api/enums/v1/workflow.rb +30 -0
- data/lib/temporalio/api/errordetails/v1/message.rb +42 -0
- data/lib/temporalio/api/export/v1/message.rb +24 -0
- data/lib/temporalio/api/failure/v1/message.rb +35 -0
- data/lib/temporalio/api/filter/v1/message.rb +27 -0
- data/lib/temporalio/api/history/v1/message.rb +90 -0
- data/lib/temporalio/api/namespace/v1/message.rb +31 -0
- data/lib/temporalio/api/nexus/v1/message.rb +40 -0
- data/lib/temporalio/api/operatorservice/v1/request_response.rb +49 -0
- data/lib/temporalio/api/operatorservice/v1/service.rb +23 -0
- data/lib/temporalio/api/operatorservice.rb +3 -0
- data/lib/temporalio/api/protocol/v1/message.rb +23 -0
- data/lib/temporalio/api/query/v1/message.rb +27 -0
- data/lib/temporalio/api/replication/v1/message.rb +26 -0
- data/lib/temporalio/api/schedule/v1/message.rb +42 -0
- data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +25 -0
- data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +21 -0
- data/lib/temporalio/api/sdk/v1/user_metadata.rb +23 -0
- data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +23 -0
- data/lib/temporalio/api/taskqueue/v1/message.rb +45 -0
- data/lib/temporalio/api/update/v1/message.rb +33 -0
- data/lib/temporalio/api/version/v1/message.rb +26 -0
- data/lib/temporalio/api/workflow/v1/message.rb +43 -0
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +189 -0
- data/lib/temporalio/api/workflowservice/v1/service.rb +23 -0
- data/lib/temporalio/api/workflowservice.rb +3 -0
- data/lib/temporalio/api.rb +13 -0
- data/lib/temporalio/cancellation.rb +150 -0
- data/lib/temporalio/client/activity_id_reference.rb +32 -0
- data/lib/temporalio/client/async_activity_handle.rb +110 -0
- data/lib/temporalio/client/connection/cloud_service.rb +648 -0
- data/lib/temporalio/client/connection/operator_service.rb +249 -0
- data/lib/temporalio/client/connection/service.rb +41 -0
- data/lib/temporalio/client/connection/workflow_service.rb +1218 -0
- data/lib/temporalio/client/connection.rb +270 -0
- data/lib/temporalio/client/interceptor.rb +316 -0
- data/lib/temporalio/client/workflow_execution.rb +103 -0
- data/lib/temporalio/client/workflow_execution_count.rb +36 -0
- data/lib/temporalio/client/workflow_execution_status.rb +18 -0
- data/lib/temporalio/client/workflow_handle.rb +446 -0
- data/lib/temporalio/client/workflow_query_reject_condition.rb +14 -0
- data/lib/temporalio/client/workflow_update_handle.rb +67 -0
- data/lib/temporalio/client/workflow_update_wait_stage.rb +17 -0
- data/lib/temporalio/client.rb +404 -0
- data/lib/temporalio/common_enums.rb +24 -0
- data/lib/temporalio/converters/data_converter.rb +102 -0
- data/lib/temporalio/converters/failure_converter.rb +200 -0
- data/lib/temporalio/converters/payload_codec.rb +26 -0
- data/lib/temporalio/converters/payload_converter/binary_null.rb +34 -0
- data/lib/temporalio/converters/payload_converter/binary_plain.rb +35 -0
- data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +42 -0
- data/lib/temporalio/converters/payload_converter/composite.rb +62 -0
- data/lib/temporalio/converters/payload_converter/encoding.rb +35 -0
- data/lib/temporalio/converters/payload_converter/json_plain.rb +44 -0
- data/lib/temporalio/converters/payload_converter/json_protobuf.rb +41 -0
- data/lib/temporalio/converters/payload_converter.rb +73 -0
- data/lib/temporalio/converters.rb +9 -0
- data/lib/temporalio/error/failure.rb +219 -0
- data/lib/temporalio/error.rb +147 -0
- data/lib/temporalio/internal/bridge/3.1/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/3.2/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +34 -0
- data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +31 -0
- data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +33 -0
- data/lib/temporalio/internal/bridge/api/common/common.rb +26 -0
- data/lib/temporalio/internal/bridge/api/core_interface.rb +36 -0
- data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +27 -0
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +52 -0
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +54 -0
- data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +30 -0
- data/lib/temporalio/internal/bridge/api.rb +3 -0
- data/lib/temporalio/internal/bridge/client.rb +90 -0
- data/lib/temporalio/internal/bridge/runtime.rb +53 -0
- data/lib/temporalio/internal/bridge/testing.rb +46 -0
- data/lib/temporalio/internal/bridge/worker.rb +83 -0
- data/lib/temporalio/internal/bridge.rb +36 -0
- data/lib/temporalio/internal/client/implementation.rb +525 -0
- data/lib/temporalio/internal/proto_utils.rb +54 -0
- data/lib/temporalio/internal/worker/activity_worker.rb +345 -0
- data/lib/temporalio/internal/worker/multi_runner.rb +169 -0
- data/lib/temporalio/internal.rb +7 -0
- data/lib/temporalio/retry_policy.rb +51 -0
- data/lib/temporalio/runtime.rb +271 -0
- data/lib/temporalio/scoped_logger.rb +96 -0
- data/lib/temporalio/search_attributes.rb +300 -0
- data/lib/temporalio/testing/activity_environment.rb +132 -0
- data/lib/temporalio/testing/workflow_environment.rb +137 -0
- data/lib/temporalio/testing.rb +10 -0
- data/lib/temporalio/version.rb +5 -0
- data/lib/temporalio/worker/activity_executor/fiber.rb +49 -0
- data/lib/temporalio/worker/activity_executor/thread_pool.rb +254 -0
- data/lib/temporalio/worker/activity_executor.rb +55 -0
- data/lib/temporalio/worker/interceptor.rb +88 -0
- data/lib/temporalio/worker/tuner.rb +151 -0
- data/lib/temporalio/worker.rb +426 -0
- data/lib/temporalio/workflow_history.rb +22 -0
- data/lib/temporalio.rb +7 -0
- data/temporalio.gemspec +28 -0
- metadata +191 -0
@@ -0,0 +1,110 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'temporalio/api'
|
4
|
+
require 'temporalio/client/activity_id_reference'
|
5
|
+
require 'temporalio/client/interceptor'
|
6
|
+
require 'temporalio/error'
|
7
|
+
|
8
|
+
module Temporalio
|
9
|
+
class Client
|
10
|
+
# Handle representing an external activity for completion and heartbeat. This is usually created via
|
11
|
+
# {Client.async_activity_handle}.
|
12
|
+
class AsyncActivityHandle
|
13
|
+
# @return [String, nil] Task token if created with a task token. Mutually exclusive with {id_reference}.
|
14
|
+
attr_reader :task_token
|
15
|
+
|
16
|
+
# @return [ActivityIDReference, nil] Activity ID reference if created with one. Mutually exclusive with
|
17
|
+
# {task_token}.
|
18
|
+
attr_reader :id_reference
|
19
|
+
|
20
|
+
# @!visibility private
|
21
|
+
def initialize(client:, task_token:, id_reference:)
|
22
|
+
@client = client
|
23
|
+
@task_token = task_token
|
24
|
+
@id_reference = id_reference
|
25
|
+
end
|
26
|
+
|
27
|
+
# Record a heartbeat for the activity.
|
28
|
+
#
|
29
|
+
# @param details [Array<Object>] Details of the heartbeat.
|
30
|
+
# @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
|
31
|
+
# @param rpc_timeout [Float, nil] Number of seconds before timeout.
|
32
|
+
def heartbeat(
|
33
|
+
*details,
|
34
|
+
rpc_metadata: nil,
|
35
|
+
rpc_timeout: nil
|
36
|
+
)
|
37
|
+
@client._impl.heartbeat_async_activity(Interceptor::HeartbeatAsyncActivityInput.new(
|
38
|
+
task_token_or_id_reference:,
|
39
|
+
details:,
|
40
|
+
rpc_metadata:,
|
41
|
+
rpc_timeout:
|
42
|
+
))
|
43
|
+
end
|
44
|
+
|
45
|
+
# Complete the activity.
|
46
|
+
#
|
47
|
+
# @param result [Object, nil] Result of the activity.
|
48
|
+
# @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
|
49
|
+
# @param rpc_timeout [Float, nil] Number of seconds before timeout.
|
50
|
+
def complete(
|
51
|
+
result = nil,
|
52
|
+
rpc_metadata: nil,
|
53
|
+
rpc_timeout: nil
|
54
|
+
)
|
55
|
+
@client._impl.complete_async_activity(Interceptor::CompleteAsyncActivityInput.new(
|
56
|
+
task_token_or_id_reference:,
|
57
|
+
result:,
|
58
|
+
rpc_metadata:,
|
59
|
+
rpc_timeout:
|
60
|
+
))
|
61
|
+
end
|
62
|
+
|
63
|
+
# Fail the activity.
|
64
|
+
#
|
65
|
+
# @param error [Exception] Error for the activity.
|
66
|
+
# @param last_heartbeat_details [Array<Object>] Last heartbeat details for the activity.
|
67
|
+
# @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
|
68
|
+
# @param rpc_timeout [Float, nil] Number of seconds before timeout.
|
69
|
+
def fail(
|
70
|
+
error,
|
71
|
+
last_heartbeat_details: [],
|
72
|
+
rpc_metadata: nil,
|
73
|
+
rpc_timeout: nil
|
74
|
+
)
|
75
|
+
@client._impl.fail_async_activity(Interceptor::FailAsyncActivityInput.new(
|
76
|
+
task_token_or_id_reference:,
|
77
|
+
error:,
|
78
|
+
last_heartbeat_details:,
|
79
|
+
rpc_metadata:,
|
80
|
+
rpc_timeout:
|
81
|
+
))
|
82
|
+
end
|
83
|
+
|
84
|
+
# Report the activity as canceled.
|
85
|
+
#
|
86
|
+
# @param details [Array<Object>] Cancellation details.
|
87
|
+
# @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
|
88
|
+
# @param rpc_timeout [Float, nil] Number of seconds before timeout.
|
89
|
+
# @raise [AsyncActivityCanceledError] If the activity has been canceled.
|
90
|
+
def report_cancellation(
|
91
|
+
*details,
|
92
|
+
rpc_metadata: nil,
|
93
|
+
rpc_timeout: nil
|
94
|
+
)
|
95
|
+
@client._impl.report_cancellation_async_activity(Interceptor::ReportCancellationAsyncActivityInput.new(
|
96
|
+
task_token_or_id_reference:,
|
97
|
+
details:,
|
98
|
+
rpc_metadata:,
|
99
|
+
rpc_timeout:
|
100
|
+
))
|
101
|
+
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
def task_token_or_id_reference
|
106
|
+
@task_token || @id_reference or raise
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|