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