Class: Rackjour::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/rackjour/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target, version, tar, config) ⇒ Server

Returns a new instance of Server.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rackjour/server.rb', line 7

def initialize(target, version, tar, config)
  @target = target
  log 'initialize'

  @tar = tar
  @config = config
  @version = version
  @apps = []
  @deployed = false

  DRb.start_service
  @conn = "druby://#{@target}:#{WORKER_PORT}"
  @drb = DRbObject.new_with_uri(@conn)

  @drb.setup(@version, @tar, @config)
end

Instance Attribute Details

#targetObject (readonly)

Returns the value of attribute target.



5
6
7
# File 'lib/rackjour/server.rb', line 5

def target
  @target
end

Instance Method Details

#add_apps(apps, terminator) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/rackjour/server.rb', line 28

def add_apps(apps, terminator)
  (apps - [terminator]).each do |app|
    log "job: #{@version} #{app}"
    @drb.add_app(app)
  end
  log "job: #{@version} #{terminator} (terminator)"
  @drb.add_terminator(terminator)
  @deployed = true
end

#call(app, env) ⇒ Object



38
39
40
# File 'lib/rackjour/server.rb', line 38

def call(app, env)
  @drb.call(app, env)
end

#deployed?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/rackjour/server.rb', line 24

def deployed?
  @deployed
end

#log(str) ⇒ Object



42
43
44
# File 'lib/rackjour/server.rb', line 42

def log(str)
  puts "#{@target}: #{str}"
end