Class: Temporalio::Connection
- Inherits:
-
Object
- Object
- Temporalio::Connection
- Defined in:
- lib/temporalio/connection.rb,
lib/temporalio/connection/service.rb,
lib/temporalio/connection/tls_options.rb,
lib/temporalio/connection/retry_config.rb,
lib/temporalio/connection/test_service.rb,
lib/temporalio/connection/workflow_service.rb
Overview
A connection to the Temporal server. It provides gRPC level communication to a Temporal server.
Connections are usually used through either a Client or a Worker. It may also be used to perform gRPC requests to the server (see #workflow_service).
Defined Under Namespace
Classes: RetryConfig, Service, TestService, TlsOptions, WorkflowService
Instance Attribute Summary collapse
- #core_connection ⇒ Object readonly private
Instance Method Summary collapse
-
#initialize(address = nil, tls: nil, metadata: nil, retry_config: nil) ⇒ Connection
constructor
A new instance of Connection.
-
#test_service ⇒ Temporalio::Connection::TestService
Get an object for making TestService RPCs.
-
#workflow_service ⇒ Temporalio::Connection::WorkflowService
Get an object for making WorkflowService RPCs.
Constructor Details
#initialize(address = nil, tls: nil, metadata: nil, retry_config: nil) ⇒ Connection
Returns a new instance of Connection.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/temporalio/connection.rb', line 26 def initialize( address = nil, tls: nil, metadata: nil, retry_config: nil ) host, port = parse_url(address) runtime = Temporalio::Runtime.instance @core_connection = Temporalio::Bridge::Connection.connect( runtime.core_runtime, Temporalio::Bridge::ConnectOptions.new( url: tls ? "https://#{host}:#{port}" : "http://#{host}:#{port}", tls: tls && Temporalio::Bridge::TlsOptions.new( server_root_ca_cert: tls.server_root_ca_cert, client_cert: tls.client_cert, client_private_key: tls.client_private_key, server_name_override: tls.server_name_override, ), metadata: , retry_config: retry_config && Temporalio::Bridge::RetryConfig.new( initial_interval_millis: retry_config.initial_interval_millis, randomization_factor: retry_config.randomization_factor, multiplier: retry_config.multiplier, max_interval_millis: retry_config.max_interval_millis, max_elapsed_time_millis: retry_config.max_elapsed_time_millis, max_retries: retry_config.max_retries, ), client_version: Temporalio::VERSION, ), ) end |
Instance Attribute Details
#core_connection ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
18 19 20 |
# File 'lib/temporalio/connection.rb', line 18 def core_connection @core_connection end |
Instance Method Details
#test_service ⇒ Temporalio::Connection::TestService
Get an object for making TestService RPCs.
70 71 72 |
# File 'lib/temporalio/connection.rb', line 70 def test_service @test_service ||= Temporalio::Connection::TestService.new(core_connection) end |
#workflow_service ⇒ Temporalio::Connection::WorkflowService
Get an object for making WorkflowService RPCs.
63 64 65 |
# File 'lib/temporalio/connection.rb', line 63 def workflow_service @workflow_service ||= Temporalio::Connection::WorkflowService.new(core_connection) end |