lib/gorgon/originator.rb in gorgon-0.4.5 vs lib/gorgon/originator.rb in gorgon-0.5.0.rc1
- old
+ new
@@ -2,20 +2,22 @@
require 'gorgon/configuration'
require 'gorgon/job_state'
require 'gorgon/progress_bar_view'
require 'gorgon/originator_logger'
require 'gorgon/failures_printer'
+require 'gorgon/rsync_daemon'
require 'awesome_print'
require 'etc'
require 'socket'
class Originator
include Configuration
def initialize
@configuration = nil
+ @rsync_daemon = RsyncDaemon.new
end
def originate
begin
Signal.trap("INT") { ctrl_c }
@@ -42,15 +44,17 @@
def cancel_job
@protocol.cancel_job
@job_state.cancel
@protocol.disconnect
+ @rsync_daemon.stop
end
def publish
@logger = OriginatorLogger.new configuration[:originator_log_file]
@protocol = OriginatorProtocol.new @logger
+ @rsync_daemon.start
EventMachine.run do
@logger.log "Connecting..."
@protocol.connect connection_information, :on_closed => method(:on_disconnect)
@@ -70,10 +74,11 @@
def cleanup_if_job_complete
if @job_state.is_job_complete?
@logger.log "Job is done"
@protocol.disconnect
+ @rsync_daemon.stop
end
end
def handle_reply(payload)
payload = Yajl::Parser.new(:symbolize_keys => true).parse(payload)
@@ -121,10 +126,10 @@
end
def job_definition
job_config = configuration[:job]
if !job_config.has_key?(:source_tree_path)
- job_config[:source_tree_path] = "#{Etc.getlogin}@#{local_ip_addr}:#{Dir.pwd}"
+ job_config[:source_tree_path] = "rsync://#{local_ip_addr}:43434/src"
end
JobDefinition.new(configuration[:job])
end
private