mirror of
https://github.com/neocities/neocities.git
synced 2025-04-24 17:22:35 +02:00
23 lines
610 B
Ruby
23 lines
610 B
Ruby
class PurgeCacheOrderWorker
|
|
include Sidekiq::Worker
|
|
sidekiq_options queue: :purgecacheorder, retry: 1000, backtrace: true, average_scheduled_poll_interval: 1
|
|
|
|
sidekiq_retry_in do |count|
|
|
return 10 if count < 10
|
|
180
|
|
end
|
|
|
|
RESOLVER = Dnsruby::Resolver.new
|
|
|
|
def perform(username, path)
|
|
if ENV['RACK_ENV'] == 'test'
|
|
proxy_ips = ['10.0.0.1', '10.0.0.2']
|
|
else
|
|
proxy_ips = RESOLVER.query($config['cache_purge_ips_uri']).answer.collect {|a| a.address.to_s}
|
|
end
|
|
|
|
proxy_ips.each do |proxy_ip|
|
|
PurgeCacheWorker.perform_async proxy_ip, username, path
|
|
end
|
|
end
|
|
end
|