Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Ernie control-center Breakout::Control::Subversion
- # TODO: move this method to Breakout::Control::BaseTool.
- def ftp_deploy
- # TODO: create a method in BaseTool which initializes proper class:
- # Either Git::ExportChangedFiles or Svn::ExportChangedFiles.
- @export = Svn::ExportChangedFiles.new(repositories_dir,
- settings[:dir_name],
- settings[:last_revision],
- settings[:revision_to],
- settings[:repository_path])
- @export.dump()
- @removed_data = @export.deleted_dirs + @export.deleted_files
- @script = UploadScript.new(self.settings, @removed_data, @export.tmp_dir)
- @@queue ||= Queue.new
- @@queue << @script
- @@threads ||= SizedQueue.new MAX_THREADS
- @@threads << :x # This will prevent creating another thread if MAX_THREADS are already running.
- thread = Thread.new do
- script = @@queue.pop
- `lftp -c "#{script.to_s}"`
- # TODO: Inspect return value.
- # TODO: Publish to events queue about results.
- FileUtils.remove_entry_secure(script.tmp_dir)
- # Thread has finished executing.
- @@threads.pop
- end
- thread.join
- end
Add Comment
Please, Sign In to add comment