LoopDance

No forks. No threads. Just looped pseudo-scheduler based on `daemon_controller` and `looper`.

One dancer is one daemon.

Easy to install

gem 'loop_dance'

Simple to setup

Create file 'lib/dancers.rb':

class Dancer1 < LoopDance::Dancer

  every 3.hours do
    User.notify_all
  end

  every 60.seconds do
    Report.checks
  end

end

Useful management

From the rails application:

Dancer1.start unless Dancer1.running?

By the rake tasks:

rake loop_dance:start_all
rake loop_dance:stop_all
rake loop_dance:status

rake loop_dance:dancer1:start
rake loop_dance:dancer1:stop
rake loop_dance:dancer1:status

Settings

class Dancer1 < LoopDance::Dancer
  mute_log  true       # mute redundant logging, just start, stop and errors
  autostart true       # enable autostart at rails server startup. False by default

  # Don't trap signals. True by default (trapped)
  trap_signals false

  # daemon_controller`s options
  start_timeout   60            # 15 by default
  stop_timeout    60            # 15 by default
  log_file_activity_timeout 17  # 7 by default

  ..

Contributing to loop_dance

Copyright © 2010-2011 Danil Pismenny. See LICENSE.txt for further details.