Guest User

Untitled

a guest
Jul 22nd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. # Ernie control-center Breakout::Control::Subversion
  2.  
  3. # TODO: move this method to Breakout::Control::BaseTool.
  4. def ftp_deploy
  5. # TODO: create a method in BaseTool which initializes proper class:
  6. # Either Git::ExportChangedFiles or Svn::ExportChangedFiles.
  7. @export = Svn::ExportChangedFiles.new(repositories_dir,
  8. settings[:dir_name],
  9. settings[:last_revision],
  10. settings[:revision_to],
  11. settings[:repository_path])
  12.  
  13. @export.dump()
  14. @removed_data = @export.deleted_dirs + @export.deleted_files
  15. @script = UploadScript.new(self.settings, @removed_data, @export.tmp_dir)
  16.  
  17. @@queue ||= Queue.new
  18. @@queue << @script
  19. @@threads ||= SizedQueue.new MAX_THREADS
  20.  
  21. @@threads << :x # This will prevent creating another thread if MAX_THREADS are already running.
  22. thread = Thread.new do
  23. script = @@queue.pop
  24. `lftp -c "#{script.to_s}"`
  25. # TODO: Inspect return value.
  26. # TODO: Publish to events queue about results.
  27. FileUtils.remove_entry_secure(script.tmp_dir)
  28. # Thread has finished executing.
  29. @@threads.pop
  30. end
  31. thread.join
  32. end
Add Comment
Please, Sign In to add comment