Class: SolidObjects::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/solid_objects/configuration.rb,
sig/generated/lib/solid_objects/configuration.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.

RBS:

  • () -> void



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/solid_objects/configuration.rb', line 99

def initialize
  @table_name_prefix = "solid_objects_"
  @polling_interval = 0.1
  @sync_polling_interval = 0.05
  @lease_duration = 30.0
  @lease_renewal_interval = 10.0
  @idle_deactivation_timeout = 30.0
  @max_messages_per_activation_pass = 50
  @max_activation_duration = 5.0
  @max_mailbox_length = 10_000
  @claim_scan_limit = 100
  @max_payload_bytes = 1.megabyte
  @max_state_bytes = 5.megabytes
  @max_result_bytes = 1.megabyte
  @max_attempts = 5
  @retry_delay = ->(attempt) { [ 2**(attempt - 1), 60 ].min.to_f }
  @lock_retry_attempts = 10
  @supervisor_monitor_interval = 1.0
  @dead_process_cleanup_interval = 60.0
  @retention_interval = 3600.0
  @process_heartbeat_interval = 15.0
  @process_alive_threshold = 60.0
  @shutdown_timeout = 15.0
  @message_retention = 30.days
  @message_retention_by_actor_type = {}
  @instance_retention_by_actor_type = {}
  @process_retention = 7.days
  @prune_batch_size = 1_000
  @worker_count = 1
  @effect_worker_count = 1
  @broadcast_worker_count = 1
  @reminder_scheduler_count = 1
  @connects_to = nil
  @stream_signing_secret = nil
  @broadcast_adapter = nil
  @wake_up_adapter = nil
  @component_path_resolver = nil
  @component_authorization_context = ->(controller:) { controller }
  @payload_authorization_context = ->(connection:) { connection }
  @logger = if defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger
    Rails.logger
  else
    Logger.new($stdout)
  end
  @authorize_message = ->(**) { false }
  @authorize_query = ->(**) { false }
  @authorize_destroy = ->(**) { false }
  @authorize_subscription = ->(**) { false }
  @authorize_administration = ->(**) { false }
  @additional_components = []
end

Instance Attribute Details

#additional_componentsObject (readonly)

RBS:

  • @additional_components: Array[untyped]

Returns:

  • (Object)


96
97
98
# File 'lib/solid_objects/configuration.rb', line 96

def additional_components
  @additional_components
end

#authorize_administrationObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def authorize_administration
  @authorize_administration
end

#authorize_destroyObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def authorize_destroy
  @authorize_destroy
end

#authorize_messageObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def authorize_message
  @authorize_message
end

#authorize_queryObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def authorize_query
  @authorize_query
end

#authorize_subscriptionObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def authorize_subscription
  @authorize_subscription
end

#broadcast_adapterObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def broadcast_adapter
  @broadcast_adapter
end

#broadcast_worker_countObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def broadcast_worker_count
  @broadcast_worker_count
end

#claim_scan_limitObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def claim_scan_limit
  @claim_scan_limit
end

#component_authorization_contextObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def component_authorization_context
  @component_authorization_context
end

#component_path_resolverObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def component_path_resolver
  @component_path_resolver
end

#connects_toObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def connects_to
  @connects_to
end

#dead_process_cleanup_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def dead_process_cleanup_interval
  @dead_process_cleanup_interval
end

#effect_worker_countObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def effect_worker_count
  @effect_worker_count
end

#idle_deactivation_timeoutObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def idle_deactivation_timeout
  @idle_deactivation_timeout
end

#instance_retention_by_actor_typeObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def instance_retention_by_actor_type
  @instance_retention_by_actor_type
end

#lease_durationObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def lease_duration
  @lease_duration
end

#lease_renewal_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def lease_renewal_interval
  @lease_renewal_interval
end

#lock_retry_attemptsObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def lock_retry_attempts
  @lock_retry_attempts
end

#loggerObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def logger
  @logger
end

#max_activation_durationObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_activation_duration
  @max_activation_duration
end

#max_attemptsObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_attempts
  @max_attempts
end

#max_mailbox_lengthObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_mailbox_length
  @max_mailbox_length
end

#max_messages_per_activation_passObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_messages_per_activation_pass
  @max_messages_per_activation_pass
end

#max_payload_bytesObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_payload_bytes
  @max_payload_bytes
end

#max_result_bytesObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_result_bytes
  @max_result_bytes
end

#max_state_bytesObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def max_state_bytes
  @max_state_bytes
end

#message_retentionObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def message_retention
  @message_retention
end

#message_retention_by_actor_typeObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def message_retention_by_actor_type
  @message_retention_by_actor_type
end

#payload_authorization_contextObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def payload_authorization_context
  @payload_authorization_context
end

#polling_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def polling_interval
  @polling_interval
end

#process_alive_thresholdObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def process_alive_threshold
  @process_alive_threshold
end

#process_heartbeat_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def process_heartbeat_interval
  @process_heartbeat_interval
end

#process_retentionObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def process_retention
  @process_retention
end

#prune_batch_sizeObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def prune_batch_size
  @prune_batch_size
end

#reminder_scheduler_countObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def reminder_scheduler_count
  @reminder_scheduler_count
end

#retention_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def retention_interval
  @retention_interval
end

#retry_delayObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def retry_delay
  @retry_delay
end

#shutdown_timeoutObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def shutdown_timeout
  @shutdown_timeout
end

#stream_signing_secretObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def stream_signing_secret
  @stream_signing_secret
end

#supervisor_monitor_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def supervisor_monitor_interval
  @supervisor_monitor_interval
end

#sync_polling_intervalObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def sync_polling_interval
  @sync_polling_interval
end

#table_name_prefixObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def table_name_prefix
  @table_name_prefix
end

#wake_up_adapterObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def wake_up_adapter
  @wake_up_adapter
end

#worker_countObject

RBS:

  • @table_name_prefix: String

  • @polling_interval: Float

  • @sync_polling_interval: Float

  • @lease_duration: Float

  • @lease_renewal_interval: Float

  • @idle_deactivation_timeout: Float

  • @max_messages_per_activation_pass: Integer

  • @max_activation_duration: Float

  • @max_mailbox_length: Integer

  • @claim_scan_limit: Integer

  • @max_payload_bytes: Integer

  • @max_state_bytes: Integer

  • @max_result_bytes: Integer

  • @max_attempts: Integer

  • @retry_delay: Proc

  • @lock_retry_attempts: Integer

  • @process_heartbeat_interval: Float

  • @process_alive_threshold: Float

  • @shutdown_timeout: Float

  • @supervisor_monitor_interval: Float

  • @retention_interval: Float

  • @dead_process_cleanup_interval: Float

  • @message_retention: Numeric

  • @message_retention_by_actor_type: Hash[String, Numeric]

  • @instance_retention_by_actor_type: Hash[String, Numeric]

  • @process_retention: Numeric

  • @prune_batch_size: Integer

  • @worker_count: Integer

  • @effect_worker_count: Integer

  • @broadcast_worker_count: Integer

  • @reminder_scheduler_count: Integer

  • @connects_to: Hash[Symbol, untyped]?

  • @logger: untyped

  • @stream_signing_secret: String?

  • @broadcast_adapter: Proc?

  • @wake_up_adapter: untyped

  • @component_path_resolver: Proc?

  • @component_authorization_context: Proc

  • @payload_authorization_context: Proc

  • @authorize_message: Proc

  • @authorize_query: Proc

  • @authorize_destroy: Proc

  • @authorize_subscription: Proc

  • @authorize_administration: Proc

Returns:

  • (Object)


50
51
52
# File 'lib/solid_objects/configuration.rb', line 50

def worker_count
  @worker_count
end

Instance Method Details

#build_additional_componentsArray[untyped]

The supervisor checks the contract here rather than at registration, because a component often needs a database connection to exist, and registration happens while the application boots.

RBS:

  • () -> Array[untyped]

Returns:

  • (Array[untyped])


173
174
175
# File 'lib/solid_objects/configuration.rb', line 173

def build_additional_components
  additional_components.map { |factory| factory.call.tap { |component| validate_component!(component) } }
end

#component_countsHash[Symbol, Integer]

RBS:

  • () -> Hash[Symbol, Integer]

Returns:

  • (Hash[Symbol, Integer])


265
266
267
268
269
270
271
272
# File 'lib/solid_objects/configuration.rb', line 265

def component_counts
  {
    worker_count:,
    effect_worker_count:,
    broadcast_worker_count:,
    reminder_scheduler_count:
  }
end

#positive_valuesHash[Symbol, Numeric]

RBS:

  • () -> Hash[Symbol, Numeric]

Returns:

  • (Hash[Symbol, Numeric])


241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
# File 'lib/solid_objects/configuration.rb', line 241

def positive_values
  {
    polling_interval:,
    sync_polling_interval:,
    lease_duration:,
    lease_renewal_interval:,
    max_messages_per_activation_pass:,
    max_activation_duration:,
    max_mailbox_length:,
    claim_scan_limit:,
    max_payload_bytes:,
    max_state_bytes:,
    max_result_bytes:,
    max_attempts:,
    process_heartbeat_interval:,
    process_alive_threshold:,
    shutdown_timeout:,
    message_retention:,
    process_retention:,
    prune_batch_size:
  }
end

#register_component(count: 1) { ... } ⇒ void

This method returns an undefined value.

Registers a long running component that the supervisor runs beside its own workers. An extension gem uses this to share one process, rather than ask an operator to run and monitor a second one.

The block must return an object that answers run, request_shutdown, stopped?, and stop, which is the contract the built in components already keep. The supervisor calls the block once for each supervisor it builds, and again when it replaces a crashed component, so two supervisors never share one component instance.

RBS:

  • (?count: Integer) { () -> untyped } -> void

Parameters:

  • count: (Integer) (defaults to: 1)

Yields:

Yield Returns:

  • (Object)


162
163
164
165
166
167
# File 'lib/solid_objects/configuration.rb', line 162

def register_component(count: 1, &factory)
  raise ArgumentError, "register_component requires a block" unless factory
  raise ArgumentError, "count must be positive" unless count.positive?

  count.times { @additional_components << factory }
end

#validate!self

RBS:

  • () -> self

Returns:

  • (self)


190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/solid_objects/configuration.rb', line 190

def validate!
  unless table_name_prefix.match?(/\A[a-z][a-z0-9_]*\z/)
    raise ArgumentError, "table_name_prefix must contain lowercase letters, digits, and underscores"
  end

  if retention_interval.negative?
    raise ArgumentError, "retention_interval must not be negative"
  end

  unless supervisor_monitor_interval.positive?
    raise ArgumentError, "supervisor_monitor_interval must be positive"
  end

  unless lease_duration > lease_renewal_interval
    raise ArgumentError, "lease_duration must be greater than lease_renewal_interval"
  end

  component_counts.each do |name, value|
    raise ArgumentError, "#{name} must not be negative" if value.negative?
  end
  if component_counts.values.sum.zero?
    raise ArgumentError, "at least one runtime component must be configured"
  end

  positive_values.each do |name, value|
    raise ArgumentError, "#{name} must be positive" unless value.positive?
  end
  message_retention_by_actor_type.each do |actor_type, retention|
    raise ArgumentError, "actor type cannot be empty" if actor_type.to_s.empty?
    raise ArgumentError, "message retention must be positive" unless retention.positive?
  end
  instance_retention_by_actor_type.each do |actor_type, retention|
    raise ArgumentError, "actor type cannot be empty" if actor_type.to_s.empty?
    raise ArgumentError, "instance retention must be positive" unless retention.positive?
  end
  unless component_path_resolver.nil? || component_path_resolver.respond_to?(:call)
    raise ArgumentError, "component_path_resolver must respond to call"
  end
  unless component_authorization_context.respond_to?(:call)
    raise ArgumentError, "component_authorization_context must respond to call"
  end
  unless payload_authorization_context.respond_to?(:call)
    raise ArgumentError, "payload_authorization_context must respond to call"
  end

  self
end

#validate_component!(component) ⇒ void

This method returns an undefined value.

A component that misses part of the contract would hang the supervisor at shutdown, or crash the moment it starts. The build fails instead, where the caller can read the reason.

RBS:

  • (untyped) -> void

Parameters:

  • (Object)


181
182
183
184
185
186
187
# File 'lib/solid_objects/configuration.rb', line 181

def validate_component!(component)
  %i[run request_shutdown stopped? stop].each do |method_name|
    next if component.respond_to?(method_name)

    raise ArgumentError, "a registered component must respond to #{method_name}"
  end
end