Module: Wukong::Local

Includes:
Plugin
Defined in:
lib/wukong/local.rb,
lib/wukong/local/runner.rb,
lib/wukong/local/stdio_driver.rb

Overview

Provides methods for supporting the running of Wukong processors and dataflows entirely locally, without any frameworks like Hadoop or Storm.

This module is actually a plugin for Wukong.

Defined Under Namespace

Classes: LocalRunner, StdioDriver

Class Method Summary collapse

Methods included from Plugin

included

Class Method Details

.boot(settings, root) ⇒ Object

Boots Wukong::Local using the given +settings+ at the given +root.

Parameters:

  • settings (Configliere::Param)

    the settings to use to boot

  • root (String)

    the root directory to boot in



36
37
# File 'lib/wukong/local.rb', line 36

def self.boot(settings, root)
end

.configure(settings, program) ⇒ Object

Configures the given +settings+ object with all settings specific to Wukong::Local for the given program +name+.

Parameters:

  • settings (Configliere::Param)

    the settings to configure

  • program (String)

    the name of the currently executing program



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/wukong/local.rb', line 16

def self.configure settings, program
  case program
  when 'wu-local'
    settings.define :run,  description: "Name of the processor or dataflow to use. Defaults to basename of first argument", flag: 'r'
    
    settings.define :from, description: "Parse input from given data format (json, tsv, &c.) before processing"
    settings.define :to,   description: "Convert input to given data format (json, tsv, &c.) before emitting"
    settings.define :as,   description: "Call Class.receive on each input (will run after --from)", type: Class
  when 'wu-source'
    settings.define :per_sec,    description: "Number of events produced per second", type: Float
    settings.define :period,     description: "Number of seconds between events (overrides --per_sec)", type: Float
    settings.define :batch_size, description: "Trigger a finalize across the dataflow each time this many records are processed", type: Integer
  end
end