Class: Restate::Service
- Inherits:
-
Object
- Object
- Restate::Service
- Extended by:
- ServiceDSL
- Defined in:
- lib/restate/service.rb
Overview
A stateless Restate service.
Class Method Summary collapse
- ._service_kind ⇒ Object
-
.call ⇒ ServiceCallProxy
Returns a call proxy for fluent durable calls to this service.
-
.handler(method_name = nil, **opts) ⇒ Symbol
Register a handler method on this service.
-
.send!(delay: nil) ⇒ ServiceSendProxy
Returns a send proxy for fluent fire-and-forget sends to this service.
Methods included from ServiceDSL
abort_timeout, description, enable_lazy_state, handlers, idempotency_retention, inactivity_timeout, ingress_private, inherited, invocation_retry_policy, journal_retention, lazy_state?, metadata, service_name, service_tag, state, svc_abort_timeout, svc_idempotency_retention, svc_inactivity_timeout, svc_ingress_private, svc_invocation_retry_policy, svc_journal_retention
Class Method Details
._service_kind ⇒ Object
54 55 56 |
# File 'lib/restate/service.rb', line 54 def self._service_kind 'service' end |
.call ⇒ ServiceCallProxy
Returns a call proxy for fluent durable calls to this service.
38 39 40 |
# File 'lib/restate/service.rb', line 38 def self.call ServiceCallProxy.new(self, call_method: :service_call) end |
.handler(method_name = nil, **opts) ⇒ Symbol
Register a handler method on this service. Use as: handler def my_method(ctx, arg) or handler :my_method, input: String
22 23 24 25 26 27 28 29 30 |
# File 'lib/restate/service.rb', line 22 def self.handler(method_name = nil, **opts) if method_name.is_a?(String) raise ArgumentError, "handler expects a Symbol (use `handler def #{method_name}(...)` or `handler :#{method_name}`)" end return method_name unless method_name.is_a?(Symbol) _register_handler(method_name, kind: nil, **opts) end |
.send!(delay: nil) ⇒ ServiceSendProxy
Returns a send proxy for fluent fire-and-forget sends to this service.
50 51 52 |
# File 'lib/restate/service.rb', line 50 def self.send!(delay: nil) ServiceSendProxy.new(self, send_method: :service_send, delay: delay) end |