Skip to content

Fancy DSL for Storm - The distributed and fault-tolerant realtime computation system used at Twitter.

License

Notifications You must be signed in to change notification settings

bakkdoor/hurricane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hurricane

Fancy DSL for Storm - The distributed and fault-tolerant realtime computation system used at Twitter

Hurricane is a Fancy DSL and library for writing Storm Topologies (including bolts, spouts and topology definitions) completely in Fancy.

It even has support for using standard Fancy Blocks (closures / anonymous functions) as bolts or spouts.

Here's the DoubleAndTripleBolt from Storm's wiki implemented with Hurricane:

class DoubleAndTripleBolt : Storm Bolt {
  input:  { value }
  output: { double tripple }
  ack_on_success!

  def process {
    output: (value * 2, value * 3)
  }
}

Here's the ExclamationBolt:

class ExclamationBolt : Storm Bolt {
  input:  { word }
  output: { exclamation_word }
  ack_on_success!
  anchor_tuples!

  def process {
    output: "#{word}!!!"
  }
}

Here's the ExclamationBolt as a BlockBolt using a partial Block:

ExclamationBolt = BlockBolt new: @{ ++ "!!!" }

Have a look at the examples/ directory for more complete examples of Storm Topologies written with Hurricane.

About

Fancy DSL for Storm - The distributed and fault-tolerant realtime computation system used at Twitter.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published