Method: Concurrent::TimerTask#execute

Defined in:
lib/concurrent-ruby/concurrent/timer_task.rb

#executeTimerTask

Execute a previously created ‘TimerTask`.

Examples:

Instance and execute in separate steps

task = Concurrent::TimerTask.new(execution_interval: 10){ print "Hello World\n" }
task.running? #=> false
task.execute
task.running? #=> true

Instance and execute in one line

task = Concurrent::TimerTask.new(execution_interval: 10){ print "Hello World\n" }.execute
task.running? #=> true

Returns:



235
236
237
238
239
240
241
242
243
# File 'lib/concurrent-ruby/concurrent/timer_task.rb', line 235

def execute
  synchronize do
    if @running.false?
      @running.make_true
      schedule_next_task(@run_now ? 0 : @execution_interval)
    end
  end
  self
end