Change delivery failure tracking to work with hostnames instead of URLs (#13437)
This commit is contained in:
parent
5524258da9
commit
5edff32733
15 changed files with 103 additions and 44 deletions
9
db/migrate/20200407201300_create_unavailable_domains.rb
Normal file
9
db/migrate/20200407201300_create_unavailable_domains.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
class CreateUnavailableDomains < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
create_table :unavailable_domains do |t|
|
||||
t.string :domain, default: '', null: false, index: { unique: true }
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
16
db/migrate/20200407202420_migrate_unavailable_inboxes.rb
Normal file
16
db/migrate/20200407202420_migrate_unavailable_inboxes.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
class MigrateUnavailableInboxes < ActiveRecord::Migration[5.2]
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
urls = Redis.current.smembers('unavailable_inboxes')
|
||||
|
||||
urls.each do |url|
|
||||
host = Addressable::URI.parse(url).normalized_host
|
||||
UnavailableDomain.create(domain: host)
|
||||
end
|
||||
|
||||
Redis.current.del(*(['unavailable_inboxes'] + Redis.current.keys('exhausted_deliveries:*')))
|
||||
end
|
||||
|
||||
def down; end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue