Skip to content

Commit ea6a95e

Browse files
committed
Add a delay between fetching assets
It's good practice when performing a lots of requests to add in time so not to overload any servers.
1 parent 4d07ae9 commit ea6a95e

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

lib/scratch_asset_importer.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ def self.import(...)
99

1010
attr_reader :asset_base_url, :asset_names
1111

12+
ASSET_FETCHING_DELAY = 0.2
13+
1214
def initialize(asset_names, asset_base_url)
1315
@asset_names = asset_names
1416
@asset_base_url = asset_base_url
@@ -25,6 +27,7 @@ def import
2527
def import_asset(asset_name)
2628
return if ScratchAsset.exists?(filename: asset_name)
2729

30+
sleep(ASSET_FETCHING_DELAY)
2831
asset = connection.get("#{asset_name}/get/")
2932
ScratchAsset.create!(filename: asset_name).file.attach(io: StringIO.new(asset.body), filename: asset_name)
3033
rescue StandardError => e
@@ -36,4 +39,8 @@ def connection
3639
faraday.response :raise_error
3740
end
3841
end
42+
43+
def show_progress?
44+
!Rails.env.test?
45+
end
3946
end

0 commit comments

Comments
 (0)