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(" "))