Sha256: 88c19a7a40fafef0fdc03edbc902b685427b4a7b6119bf8a25d83a24e4177038
Contents?: true
Size: 855 Bytes
Versions: 2
Compression:
Stored size: 855 Bytes
Contents
require_relative 'base' module Legion module Extensions module Actors class Once include Legion::Extensions::Actors::Base def initialize return unless enabled? if respond_to? :functions functions.each do function @task = Concurrent::ScheduledTask.execute(delay) do use_runner? ? runner : manual end end else @task = Concurrent::ScheduledTask.execute(delay) do use_runner? ? runner : manual end end rescue StandardError => e Legion::Logging.error e end def delay 1.0 end def cancel return unless enabled? @task.cancel unless @task.cancelled? end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
legionio-1.2.1 | lib/legion/extensions/actors/once.rb |
legionio-1.2.0 | lib/legion/extensions/actors/once.rb |