Use http.rb to ensure timeout enforcement for cache purging, disable crashing flag for now

This commit is contained in:
Kyle Drake 2016-10-23 12:52:44 -05:00
parent c3ea1fc9e4
commit 80b3f6b0be
3 changed files with 11 additions and 16 deletions

View file

@ -23,12 +23,9 @@ class DeleteCacheWorker
"http://#{proxy_ip}/:cache/purge#{path}", "http://#{proxy_ip}/:cache/purge#{path}",
Addressable::URI::CharacterClasses::QUERY Addressable::URI::CharacterClasses::QUERY
) )
begin
RestClient::Request.execute method: :get, url: url, timeout: HTTP_TIMEOUT, headers: { HTTP.timeout(read: 10, write: 10, connect: 2).
host: URI::encode("#{username}.neocities.org") headers(host: URI::encode("#{username}.neocities.org")).
} get(url)
rescue RestClient::ResourceNotFound
rescue RestClient::Forbidden
end
end end
end end

View file

@ -22,17 +22,14 @@ class PurgeCacheWorker
retry_encoded = false retry_encoded = false
begin begin
RestClient::Request.execute method: :head, url: url, timeout: HTTP_TIMEOUT, headers: { HTTP.timeout(read: 10, write: 10, connect: 2).
host: URI::encode("#{username}.neocities.org"), headers(host: URI::encode("#{username}.neocities.org"), cache_purge: '1').
cache_purge: '1' head(url)
}
rescue URI::InvalidURIError rescue URI::InvalidURIError
raise if retry_encoded == true raise if retry_encoded == true
url = URI.encode url url = URI.encode url
retry_encoded = true retry_encoded = true
retry retry
rescue RestClient::ResourceNotFound
rescue RestClient::Forbidden
end end
end end
end end

View file

@ -83,9 +83,10 @@ class ScreenshotWorker
sidekiq_retries_exhausted do |msg| sidekiq_retries_exhausted do |msg|
username, path = msg['args'] username, path = msg['args']
site = Site[username: username] # This breaks too much so we're disabling it.
site.is_crashing = true #site = Site[username: username]
site.save_changes validate: false #site.is_crashing = true
#site.save_changes validate: false
=begin =begin
if site.email if site.email