Class: W3map::Bot
- Inherits:
-
Object
- Object
- W3map::Bot
- Defined in:
- lib/w3map.rb
Instance Attribute Summary collapse
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Instance Method Summary collapse
-
#initialize(session) ⇒ Bot
constructor
A new instance of Bot.
- #start ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(session) ⇒ Bot
Returns a new instance of Bot.
113 114 115 116 117 118 119 |
# File 'lib/w3map.rb', line 113 def initialize(session) @session = session @http_engine = HttpEngine.new(self) # TODO: create class NeuronStack (NeuronPipeline?) @neurons = [] @neurons << Neurons::SimpleCrawler.new(self) end |
Instance Attribute Details
#session ⇒ Object (readonly)
Returns the value of attribute session.
112 113 114 |
# File 'lib/w3map.rb', line 112 def session @session end |
Instance Method Details
#start ⇒ Object
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/w3map.rb', line 120 def start loop do puts "Bot waiting for task (#{Time.now})" url = @session.queue.pop # break if url.nil? puts "PROCESS #{url}" response = @http_engine.response_for(url) # save url, 'response-code', response.code data = {'response-code' => response.code} @neurons.each { |neuron| neuron.process url, response, data } #TODO: use NeuronStack or other @session.dstore.save_hash url, data end rescue SignalException => e puts end |
#stop ⇒ Object
135 136 137 |
# File 'lib/w3map.rb', line 135 def stop # @session.close ? end |