Sha256: 8d9450d0dcd168fb02362f6fa8e48f72a1d0b4b9c357026c50c23fee934dc1cb

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

require_relative('bolt_driver')

module Wukong
  module Storm

    # Implements the runner for wu-bolt.
    class StormBoltRunner < Wukong::Local::LocalRunner

      include Logging

      usage "PROCESSOR|FLOW"

      description <<-EOF.gsub(/^ {8}/,'')
        wu-bolt is a commandline tool for running Wukong dataflows as
        bolts within a Storm topology.

        wu-bolt behaves like wu-local except it adds a batch
        terminator after the output generated from each input record.
        This allows Storm to differentiate "no output" from "no output
        yet", important for back-propagating acks.

        For example

          $ echo "adds a terminator" | wu-bolt tokenizer.rb
          adds
          a
          terminator
          ---
          $ echo "" | wu-bolt tokenizer.rb
          ---

        If there is ever a suppressed error in pricessing, or a
        skipped record for any reason, wu-bolt will still output the
        batch terminator.
      EOF

      # :nodoc:
      def driver
        BoltDriver
      end
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wukong-storm-0.2.0 lib/wukong-storm/bolt_runner.rb