lib/cloudsync/sync_manager.rb in cloudsync-2.1.1 vs lib/cloudsync/sync_manager.rb in cloudsync-2.2.0
- old
+ new
@@ -72,15 +72,13 @@
def prune
file_stats = {:removed => [], :skipped => []}
$LOGGER.info("[SM]: Prune from #{from_backend} to #{to_backend} started at #{prune_start = Time.now}. Dry-run? #{!!dry_run?}")
- to_backend_files = to_backend.files_to_sync(from_backend.upload_prefix)
- total_files = to_backend_files.size
- last_decile_complete = 0
-
- to_backend_files.each_with_index do |file, index|
+ index = 1
+
+ to_backend.files_to_sync(from_backend.upload_prefix) do |file|
$LOGGER.debug("Checking if file #{file} exists on [#{from_backend}]")
if found_file = from_backend.get_file_from_store(file)
$LOGGER.debug("Keeping file #{file} because it was found on #{from_backend}.")
file_stats[:skipped] << file
else
@@ -88,14 +86,15 @@
file_stats[:removed] << file
to_backend.delete(file)
end
- if decile_complete(index, total_files) != last_decile_complete
- last_decile_complete = decile_complete(index, total_files)
- $LOGGER.info("[SM]: Prune: Completed #{index} files (skipped: #{file_stats[:skipped].size}, removed: #{file_stats[:removed].size}). #{last_decile_complete * 10}% complete")
+ if index % 1000 == 0
+ $LOGGER.info("[SM]: Prune: Completed #{index} files (skipped: #{file_stats[:skipped].size}, removed: #{file_stats[:removed].size}).")
end
+
+ index += 1
end
$LOGGER.info(["[SM]: Prune from #{from_backend} to #{to_backend} finished at #{Time.now}, took #{Time.now - prune_start}s.",
"Skipped #{file_stats[:skipped].size} files.",
"Removed #{file_stats[:removed].size} files"].join(" "))
@@ -104,26 +103,25 @@
def sync(mode)
file_stats = {:copied => [], :skipped => []}
$LOGGER.info("[SM]: Sync from #{from_backend} to #{to_backend} started at #{sync_start = Time.now}. Mode: #{mode}. Dry-run? #{!!dry_run?}")
- from_backend_files = from_backend.files_to_sync(to_backend.upload_prefix)
- total_files = from_backend_files.size
- last_decile_complete = 0
-
- from_backend_files.each_with_index do |file, index|
+ index = 1
+
+ from_backend.files_to_sync(to_backend.upload_prefix) do |file|
if (mode == :sync_all || to_backend.needs_update?(file))
file_stats[:copied] << file
from_backend.copy(file, to_backend)
else
file_stats[:skipped] << file
$LOGGER.debug("Skipping up-to-date file #{file}")
end
- if decile_complete(index, total_files) != last_decile_complete
- last_decile_complete = decile_complete(index, total_files)
- $LOGGER.info("[SM]: Sync from #{from_backend} to #{to_backend}: Completed #{index} files (skipped: #{file_stats[:skipped].size}, copied: #{file_stats[:copied].size}). #{last_decile_complete * 10}% complete")
+ if index % 1000 == 0
+ $LOGGER.info("[SM]: Sync from #{from_backend} to #{to_backend}: Completed #{index} files (skipped: #{file_stats[:skipped].size}, copied: #{file_stats[:copied].size}).")
end
+
+ index += 1
end
$LOGGER.info(["[SM]: Sync from #{from_backend} to #{to_backend} finished at #{Time.now}, took #{Time.now - sync_start}s.",
"Copied #{file_stats[:copied].size} files.",
"Skipped #{file_stats[:skipped].size} files."].join(" "))