Skip to content
This repository has been archived by the owner on Jul 24, 2020. It is now read-only.

Commit

Permalink
Multiple startup scripts for multiple servers
Browse files Browse the repository at this point in the history
  • Loading branch information
jhannes committed Dec 4, 2011
1 parent 95f27a5 commit 000e8ed
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 7 deletions.
6 changes: 6 additions & 0 deletions intense_web_server.rb
@@ -0,0 +1,6 @@
require 'rubygems'

require_relative 'lib/extreme_startup/web_server'
ExtremeStartup::WebServer.settings.default_question_delay = 1
ExtremeStartup::WebServer.settings.question_factory = ExtremeStartup::WorkshopQuestionFactory.new
ExtremeStartup::WebServer.run!
8 changes: 4 additions & 4 deletions lib/extreme_startup/quiz_master.rb
Expand Up @@ -63,10 +63,11 @@ def start

class QuizMaster

def initialize(player, scoreboard, question_factory)
def initialize(player, scoreboard, question_factory, default_delay = 5)
@player = player
@scoreboard = scoreboard
@question_factory = question_factory
@default_delay = default_delay
end

def player_passed?(response)
Expand All @@ -82,9 +83,8 @@ def start
log.info("Player: #{@player}|#{question.log_result}") unless $silence_logging
@scoreboard.increment_score_for(@player, question.score)
@player.log_result(question.id, question.result, question.score)
#sleep question.delay_before_next(1)
sleep question.delay_before_next
sleep question.delay_before_next(@default_delay)
end
end
end
end
end
5 changes: 2 additions & 3 deletions lib/extreme_startup/web_server.rb
Expand Up @@ -20,9 +20,8 @@ class WebServer < Sinatra::Base
set :players_threads, Hash.new
set :scoreboard, Scoreboard.new
set :question_factory, QuestionFactory.new
#set :question_factory, WorkshopQuestionFactory.new
#set :question_factory, WarmupQuestionFactory.new
set :quizmaster_type, QuizMaster
set :default_question_delay, 5

get '/' do
haml :leaderboard, :locals => {
Expand Down Expand Up @@ -112,7 +111,7 @@ def to_json(*a)
players[player.uuid] = player

player_thread = Thread.new do
settings.quizmaster_type.new(player, scoreboard, question_factory).start
settings.quizmaster_type.new(player, scoreboard, question_factory, settings.default_question_delay).start
end
players_threads[player.uuid] = player_thread

Expand Down
6 changes: 6 additions & 0 deletions warmup_web_server.rb
@@ -0,0 +1,6 @@
require 'rubygems'

require_relative 'lib/extreme_startup/web_server'
ExtremeStartup::WebServer.settings.default_question_delay = 5
ExtremeStartup::WebServer.settings.question_factory = ExtremeStartup::WarmupQuestionFactory.new
ExtremeStartup::WebServer.run!

0 comments on commit 000e8ed

Please sign in to comment.