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
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2020_03_12_185443) do
|
||||
ActiveRecord::Schema.define(version: 2020_04_07_202420) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -769,6 +769,13 @@ ActiveRecord::Schema.define(version: 2020_03_12_185443) do
|
|||
t.index ["uri"], name: "index_tombstones_on_uri"
|
||||
end
|
||||
|
||||
create_table "unavailable_domains", force: :cascade do |t|
|
||||
t.string "domain", default: "", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["domain"], name: "index_unavailable_domains_on_domain", unique: true
|
||||
end
|
||||
|
||||
create_table "user_invite_requests", force: :cascade do |t|
|
||||
t.bigint "user_id"
|
||||
t.text "text"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue