class Legion::Extensions::Actors::Once

Public Class Methods

new() click to toggle source
# File lib/legion/extensions/actors/once.rb, line 9
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

Public Instance Methods

cancel() click to toggle source
# File lib/legion/extensions/actors/once.rb, line 32
def cancel
  return unless enabled?

  @task.cancel unless @task.cancelled?
end
delay() click to toggle source
# File lib/legion/extensions/actors/once.rb, line 28
def delay
  1.0
end