Skip to content

Commit 797d29d

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 9640df3 commit 797d29d

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
@@ -7,6 +7,8 @@ def self.import(...)
77

88
attr_reader :asset_base_url, :asset_names
99

10+
ASSET_FETCHING_DELAY = 0.2
11+
1012
def initialize(asset_names, asset_base_url)
1113
@asset_names = asset_names
1214
@asset_base_url = asset_base_url
@@ -23,6 +25,7 @@ def import
2325
def import_asset(asset_name)
2426
return if ScratchAsset.exists?(filename: asset_name)
2527

28+
sleep(ASSET_FETCHING_DELAY)
2629
asset = connection.get("#{asset_name}/get/")
2730
ScratchAsset.create!(filename: asset_name).file.attach(io: StringIO.new(asset.body), filename: asset_name)
2831
rescue StandardError => e
@@ -34,4 +37,8 @@ def connection
3437
faraday.response :raise_error
3538
end
3639
end
40+
41+
def show_progress?
42+
!Rails.env.test?
43+
end
3744
end

0 commit comments

Comments
 (0)