redstorm/examples/dsl/hello_world_topology.rb

29 lines
609 B
Ruby
Raw Normal View History

2013-05-15 17:48:47 +00:00
require 'red_storm'
2013-06-17 19:08:09 +00:00
class HelloWorldSpout < RedStorm::DSL::Spout
2013-05-15 17:48:47 +00:00
on_init {@words = ["hello", "world"]}
on_send {@words.shift unless @words.empty?}
end
2013-06-17 19:08:09 +00:00
class HelloWorldBolt < RedStorm::DSL::Bolt
2013-05-15 17:48:47 +00:00
on_receive :emit => false do |tuple|
2013-06-17 19:08:09 +00:00
log.info(tuple[0]) # tuple[:word] or tuple["word"] are also valid
2013-05-15 17:48:47 +00:00
end
end
2013-06-17 19:08:09 +00:00
class HelloWorldTopology < RedStorm::DSL::Topology
2013-05-15 17:48:47 +00:00
spout HelloWorldSpout do
output_fields :word
end
bolt HelloWorldBolt do
source HelloWorldSpout, :global
end
2013-07-29 19:07:58 +00:00
configure do
debug false
max_task_parallelism 4
num_workers 1
max_spout_pending 1000
end
2013-05-15 17:48:47 +00:00
end