Class: Concurrent::SerializedExecutionDelegator
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Concurrent::SerializedExecutionDelegator
- Defined in:
- lib/concurrent/executor/serialized_execution_delegator.rb
Overview
A wrapper/delegator for any ExecutorService
that
guarantees serialized execution of tasks.
Instance Method Summary collapse
-
#initialize(executor) ⇒ SerializedExecutionDelegator
constructor
A new instance of SerializedExecutionDelegator.
-
#post(*args) { ... } ⇒ Boolean
Submit a task to the executor for asynchronous processing.
Constructor Details
#initialize(executor) ⇒ SerializedExecutionDelegator
Returns a new instance of SerializedExecutionDelegator.
15 16 17 18 19 |
# File 'lib/concurrent/executor/serialized_execution_delegator.rb', line 15 def initialize(executor) @executor = executor @serializer = SerializedExecution.new super(executor) end |
Instance Method Details
#post(*args) { ... } ⇒ Boolean
Submit a task to the executor for asynchronous processing.
22 23 24 25 26 |
# File 'lib/concurrent/executor/serialized_execution_delegator.rb', line 22 def post(*args, &task) raise ArgumentError.new('no block given') unless block_given? return false unless running? @serializer.post(@executor, *args, &task) end |