Class: TaskJuggler::ReportServerRecord
- Includes:
- MessageHandler
- Defined in:
- lib/taskjuggler/daemon/ProjectServer.rb
Overview
This class stores the information about a ReportServer that was created by the ProjectServer.
Instance Attribute Summary collapse
-
#authKey ⇒ Object
Returns the value of attribute authKey.
-
#tag ⇒ Object
readonly
Returns the value of attribute tag.
-
#uri ⇒ Object
Returns the value of attribute uri.
Instance Method Summary collapse
-
#initialize(tag) ⇒ ReportServerRecord
constructor
A new instance of ReportServerRecord.
-
#ping ⇒ Object
Send a ping to the ReportServer process to check that it is still functioning properly.
Methods included from MessageHandler
#critical, #debug, #error, #fatal, #info, #warning
Constructor Details
#initialize(tag) ⇒ ReportServerRecord
Returns a new instance of ReportServerRecord.
418 419 420 421 422 423 424 425 426 427 |
# File 'lib/taskjuggler/daemon/ProjectServer.rb', line 418 def initialize(tag) # A random tag to uniquely identify the entry. @tag = tag # The URI of the ReportServer process. @uri = nil # The authentication key of the ReportServer. @authKey = nil # The DRbObject of the ReportServer. @reportServer = nil end |
Instance Attribute Details
#authKey ⇒ Object
Returns the value of attribute authKey.
416 417 418 |
# File 'lib/taskjuggler/daemon/ProjectServer.rb', line 416 def authKey @authKey end |
#tag ⇒ Object (readonly)
Returns the value of attribute tag.
415 416 417 |
# File 'lib/taskjuggler/daemon/ProjectServer.rb', line 415 def tag @tag end |
#uri ⇒ Object
Returns the value of attribute uri.
416 417 418 |
# File 'lib/taskjuggler/daemon/ProjectServer.rb', line 416 def uri @uri end |
Instance Method Details
#ping ⇒ Object
Send a ping to the ReportServer process to check that it is still functioning properly. If not, it has probably terminated and we can remove it from the list of active ReportServers.
432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 |
# File 'lib/taskjuggler/daemon/ProjectServer.rb', line 432 def ping return true unless @uri debug('', "Sending ping to ReportServer #{@uri}") begin @reportServer = DRbObject.new(nil, @uri) unless @reportServer @reportServer.ping(@authKey) rescue => exception # TjRuntimeError exceptions are simply passed through. if exception.is_a?(TjRuntimeError) raise TjRuntimeError, $! end # ReportServer processes terminate on request of their clients. Not # responding to a ping is a normal event. debug('', "ReportServer (#{@uri}) has terminated") return false end true end |