Class: Modal::ControlPlaneInvocation
- Inherits:
-
Object
- Object
- Modal::ControlPlaneInvocation
- Includes:
- Invocation
- Defined in:
- lib/modal/invocation.rb
Instance Attribute Summary collapse
-
#function_call_id ⇒ Object
readonly
Returns the value of attribute function_call_id.
Class Method Summary collapse
- .create(function_id, input, invocation_type) ⇒ Object
- .from_function_call_id(function_call_id) ⇒ Object
Instance Method Summary collapse
- #await_output(timeout = nil) ⇒ Object
-
#initialize(function_call_id, input = nil, function_call_jwt = nil, input_jwt = nil) ⇒ ControlPlaneInvocation
constructor
A new instance of ControlPlaneInvocation.
- #retry(retry_count) ⇒ Object
Constructor Details
#initialize(function_call_id, input = nil, function_call_jwt = nil, input_jwt = nil) ⇒ ControlPlaneInvocation
Returns a new instance of ControlPlaneInvocation.
17 18 19 20 21 22 |
# File 'lib/modal/invocation.rb', line 17 def initialize(function_call_id, input = nil, function_call_jwt = nil, input_jwt = nil) @function_call_id = function_call_id @input = input @function_call_jwt = function_call_jwt @input_jwt = input_jwt end |
Instance Attribute Details
#function_call_id ⇒ Object (readonly)
Returns the value of attribute function_call_id.
15 16 17 |
# File 'lib/modal/invocation.rb', line 15 def function_call_id @function_call_id end |
Class Method Details
.create(function_id, input, invocation_type) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/modal/invocation.rb', line 24 def self.create(function_id, input, invocation_type) function_put_inputs_item = Modal::Client::FunctionPutInputsItem.new(idx: 0, input: input) request = Modal::Client::FunctionMapRequest.new( function_id: function_id, function_call_type: Modal::Client::FunctionCallType::FUNCTION_CALL_TYPE_UNARY, function_call_invocation_type: invocation_type, pipelined_inputs: [function_put_inputs_item] ) function_map_response = Modal.client.call(:function_map, request) new( function_map_response.function_call_id, input, function_map_response.function_call_jwt, function_map_response.pipelined_inputs[0].input_jwt ) end |
.from_function_call_id(function_call_id) ⇒ Object
42 43 44 |
# File 'lib/modal/invocation.rb', line 42 def self.from_function_call_id(function_call_id) new(function_call_id) end |
Instance Method Details
#await_output(timeout = nil) ⇒ Object
46 47 48 |
# File 'lib/modal/invocation.rb', line 46 def await_output(timeout = nil) poll_function_output(@function_call_id, timeout) end |
#retry(retry_count) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/modal/invocation.rb', line 50 def retry(retry_count) unless @input raise "Cannot retry function invocation - input missing" end retry_item = Modal::Client::FunctionRetryInputsItem.new( input_jwt: @input_jwt, input: @input, retry_count: retry_count ) request = Modal::Client::FunctionRetryInputsRequest.new( function_call_jwt: @function_call_jwt, inputs: [retry_item] ) function_retry_response = Modal.client.call(:function_retry_inputs, request) @input_jwt = function_retry_response.input_jwts[0] end |