Class: Temporalio::Client
- Inherits:
-
Object
- Object
- Temporalio::Client
- Defined in:
- lib/temporalio/client.rb,
lib/temporalio/client/implementation.rb,
lib/temporalio/client/workflow_handle.rb
Defined Under Namespace
Classes: Implementation, WorkflowHandle
Instance Attribute Summary collapse
-
#namespace ⇒ String
readonly
Namespace used for client calls.
Instance Method Summary collapse
-
#initialize(connection, namespace, interceptors: [], data_converter: Temporalio::DataConverter.new) ⇒ Client
constructor
Create a Temporal client from a connection.
-
#start_workflow(workflow, *args, id:, task_queue:, execution_timeout: nil, run_timeout: nil, task_timeout: nil, id_reuse_policy: Workflow::IDReusePolicy::ALLOW_DUPLICATE, retry_policy: nil, cron_schedule: '', memo: nil, search_attributes: nil, start_signal: nil, start_signal_args: [], rpc_metadata: {}, rpc_timeout: nil) ⇒ Temporalio::Client::WorkflowHandle
Start a workflow and return its handle.
-
#workflow_handle(id, run_id: nil, first_execution_run_id: nil) ⇒ Temporalio::Client::WorkflowHandle
Get a workflow handle to an existing workflow by its ID.
Constructor Details
#initialize(connection, namespace, interceptors: [], data_converter: Temporalio::DataConverter.new) ⇒ Client
Create a Temporal client from a connection.
28 29 30 31 32 33 34 35 36 |
# File 'lib/temporalio/client.rb', line 28 def initialize( connection, namespace, interceptors: [], data_converter: Temporalio::DataConverter.new ) @namespace = namespace @implementation = Client::Implementation.new(connection, namespace, data_converter, interceptors) end |
Instance Attribute Details
#namespace ⇒ String (readonly)
Returns Namespace used for client calls.
15 16 17 |
# File 'lib/temporalio/client.rb', line 15 def namespace @namespace end |
Instance Method Details
#start_workflow(workflow, *args, id:, task_queue:, execution_timeout: nil, run_timeout: nil, task_timeout: nil, id_reuse_policy: Workflow::IDReusePolicy::ALLOW_DUPLICATE, retry_policy: nil, cron_schedule: '', memo: nil, search_attributes: nil, start_signal: nil, start_signal_args: [], rpc_metadata: {}, rpc_timeout: nil) ⇒ Temporalio::Client::WorkflowHandle
Start a workflow and return its handle.
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/temporalio/client.rb', line 66 def start_workflow( # rubocop:disable Metrics/ParameterLists workflow, *args, id:, task_queue:, execution_timeout: nil, run_timeout: nil, task_timeout: nil, id_reuse_policy: Workflow::IDReusePolicy::ALLOW_DUPLICATE, retry_policy: nil, cron_schedule: '', memo: nil, search_attributes: nil, start_signal: nil, start_signal_args: [], rpc_metadata: {}, rpc_timeout: nil ) input = Interceptor::Client::StartWorkflowInput.new( workflow: workflow, args: args, id: id, task_queue: task_queue, execution_timeout: execution_timeout, run_timeout: run_timeout, task_timeout: task_timeout, id_reuse_policy: id_reuse_policy, retry_policy: retry_policy, cron_schedule: cron_schedule, memo: memo, search_attributes: search_attributes, headers: {}, start_signal: start_signal, start_signal_args: start_signal_args, rpc_metadata: , rpc_timeout: rpc_timeout, ) implementation.start_workflow(input) end |
#workflow_handle(id, run_id: nil, first_execution_run_id: nil) ⇒ Temporalio::Client::WorkflowHandle
Get a workflow handle to an existing workflow by its ID.
117 118 119 120 121 122 123 124 125 |
# File 'lib/temporalio/client.rb', line 117 def workflow_handle(id, run_id: nil, first_execution_run_id: nil) WorkflowHandle.new( implementation, id, run_id: run_id, result_run_id: run_id, first_execution_run_id: first_execution_run_id, ) end |