Sha256: cff88b7578b0b8ce14980a31adcb130ac69c804046a71bfb26b0f0e51a955464
Contents?: true
Size: 738 Bytes
Versions: 2
Compression:
Stored size: 738 Bytes
Contents
class FluQ::Runner include FluQ::Mixins::Loggable # Runs the runner (blocking) def self.run(&block) new(&block).run end # Constructor def initialize(&block) @feeds = Celluloid::SupervisionGroup.new block.call(self) if block end # @return [Array<FluQ::Feed>] def feeds @feeds.actors end # Registers a new feed # @param [String] name def feed(name, &block) @feeds.supervise FluQ::Feed, name, &block end # Starts the runner, blocking def run loop { sleep 5 while @feeds.alive? } end # Terminates the runner def terminate @feeds.terminate end # @return [String] introspection def inspect "#<#{self.class.name} feeds: #{feeds.map(&:name).inspect}>" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fluq-0.8.1 | lib/fluq/runner.rb |
fluq-0.8.0 | lib/fluq/runner.rb |