Skip to content

Commit eedd696

Browse files
committed
Stage files to cdn77 one at a time
* cdn77 API isn't allowing more than one file in a prefetch request * modify code to do them one-by-one
1 parent ee5213b commit eedd696

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

lib/tasks/cdn.rake

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ task 'assets:prestage' => :environment do |t|
1414
end
1515

1616
# pre-stage css/js only for now
17-
a = get_assets("locales/") + get_assets("")
17+
assets = get_assets("locales/") + get_assets("")
1818
puts "pre staging: #{a.join(' ')}"
1919

2020
# makes testing simpler leaving this here
@@ -27,19 +27,25 @@ task 'assets:prestage' => :environment do |t|
2727
http.use_ssl = true
2828
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
2929

30+
failed_assets = []
3031
request = Net::HTTP::Post.new(uri.request_uri)
31-
request.set_form_data(
32-
"id" => config["id"],
33-
"login" => config["login"],
34-
"passwd" => config["password"],
35-
"json" => {"prefetch_paths" => a.join("\n")}.to_json
36-
)
32+
assets.each do |asset|
33+
request.set_form_data(
34+
"id" => config["id"],
35+
"login" => config["login"],
36+
"passwd" => config["password"],
37+
"json" => {"prefetch_paths" => asset}.to_json
38+
)
3739

38-
response = http.request(request)
39-
json = JSON.parse(response.body)
40-
if json["status"] != "ok"
41-
raise "Failed to pre-stage"
40+
response = http.request(request)
41+
json = JSON.parse(response.body)
42+
if json["status"] != "ok"
43+
failed_assets.push(asset)
44+
end
45+
end
46+
47+
if failed_assets.length > 0
48+
raise "Failed to pre-stage #{failed_assets.length}/#{assets.length} files"
4249
end
4350
puts "Done (took: #{((Time.now - start) * 1000.0).to_i}ms)"
44-
4551
end

0 commit comments

Comments
 (0)