lib/zold/commands/fetch.rb in zold-0.18.6 vs lib/zold/commands/fetch.rb in zold-0.18.7

- old
+ new

@@ -30,10 +30,11 @@ require 'zold/score' require 'concurrent' require 'parallel' require_relative 'thread_badge' require_relative 'args' +require_relative '../thread_pool' require_relative '../log' require_relative '../age' require_relative '../http' require_relative '../size' require_relative '../json_page' @@ -75,12 +76,12 @@ "How many threads to use for fetching wallets (default: #{[Concurrent.processor_count / 2, 2].max})", default: [Concurrent.processor_count / 2, 2].max o.bool '--help', 'Print instructions' end mine = Args.new(opts, @log).take || return - Parallel.map((mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }), in_threads: opts[:threads]) do |id| + list = mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) } + ThreadPool.new('fetch', log: @log).run(opts['threads'], list) do |id| fetch(id, Copies.new(File.join(@copies, id)), opts) - @log.debug("Worker: #{Parallel.worker_number} has fetched wallet #{id}") end end private