Skip to content

Commit

Permalink
Auto merge of rubygems#133 - bundler:seg-purge-new-index, r=indirect
Browse files Browse the repository at this point in the history
[Cache] Purge new index files

Closes rubygems#132?
  • Loading branch information
homu committed Mar 16, 2016
2 parents 7034c39 + 4c5368c commit 5167e55
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
29 changes: 21 additions & 8 deletions lib/bundler_api/cache.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,31 @@ def initialize(memcached: nil, cdn: nil)
end

def purge_specs
cdn_client.purge_key 'dependencies'
cdn_client.purge_path '/latest_specs.4.8.gz'
cdn_client.purge_path '/specs.4.8.gz'
cdn_client.purge_path '/prerelease_specs.4.8.gz'
puts "Purging dependencies /latest_specs.4.8.gz /specs.4.8.gz /prerelease_specs.4.8.gz"
keys = %w(dependencies)
paths = %w(
/latest_specs.4.8.gz
/specs.4.8.gz
/prerelease_specs.4.8.gz
/versions
/names
)
puts "Purging #{(keys + paths) * ', '}"
keys.each {|k| cdn_client.purge_key(k) }
paths.each {|k| cdn_client.purge_path(k) }
end

def purge_gem(name)
cdn_client.purge_path "/quick/Marshal.4.8/#{name}.gemspec.rz"
cdn_client.purge_path "/gems/#{name}.gem"
keys = %w()
paths = %W(
/quick/Marshal.4.8/#{name}.gemspec.rz
/gems/#{name}.gem
/info/#{name}
)
puts "Purging #{(keys + paths) * ', '}"
keys.each {|k| cdn_client.purge_key(k) }
paths.each {|k| cdn_client.purge_path(k) }

purge_memory_cache(name)
puts "Purging /quick/Marshal.4.8/#{name}.gemspec.rz /gems/#{name}.gem"
end

def purge_memory_cache(name)
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler_api/web.rb
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ def json_payload(payload)
job.run

@cache.purge_specs
@cache.purge_memory_cache(payload.name)
@cache.purge_gem(payload.name)

json_payload(payload)
end
Expand Down

0 comments on commit 5167e55

Please sign in to comment.