Class: Server
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- Server
- Defined in:
- lib/server.rb
Overview
Sinatra server to host the statistics for the CobwebCrawler
Class Method Summary collapse
- .cobweb_options ⇒ Object
-
.start(options = {}) ⇒ Object
Starts the Sinatra server, and kills the processes when shutdown.
Instance Method Summary collapse
Class Method Details
.cobweb_options ⇒ Object
104 105 106 |
# File 'lib/server.rb', line 104 def self. end |
.start(options = {}) ⇒ Object
Starts the Sinatra server, and kills the processes when shutdown
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/server.rb', line 84 def self.start(={}) = [:redis_options] = {} unless .has_key? :redis_options unless Server.running? if [:run_as_server] puts "Starting Sinatra for cobweb v#{Cobweb.version}" Server.run! puts "Stopping crawl..." else thread = Thread.new do puts "Starting Sinatra" Server.run! puts "Stopping crawl..." ## we need to manually kill the main thread as sinatra traps the interrupts Thread.main.kill end end end end |
Instance Method Details
#cobweb_version(crawl_id) ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/server.rb', line 71 def cobweb_version(crawl_id) redis = Redis.new() key = redis.keys("cobweb-*-#{crawl_id}:queued").first key =~ /cobweb-(.*?)-(.*?):queued/ cobweb_version = $1 end |
#redis_options ⇒ Object
79 80 81 |
# File 'lib/server.rb', line 79 def Server.[:redis_options] end |