diff --git a/elixir/apps/domain/lib/domain/application.ex b/elixir/apps/domain/lib/domain/application.ex index af5f7fdd9..8a75f8e53 100644 --- a/elixir/apps/domain/lib/domain/application.ex +++ b/elixir/apps/domain/lib/domain/application.ex @@ -22,9 +22,6 @@ defmodule Domain.Application do Domain.Repo, Domain.PubSub, - # WAL replication - replication_child_spec(), - # Infrastructure services # Note: only one of platform adapters will be actually started. Domain.GoogleCloudPlatform, @@ -44,7 +41,10 @@ defmodule Domain.Application do Domain.ComponentVersions, # Observability - Domain.Telemetry + Domain.Telemetry, + + # WAL replication + replication_child_spec() ] end @@ -61,7 +61,10 @@ defmodule Domain.Application do %{ id: Domain.Events.ReplicationConnection, start: {Domain.Events.ReplicationConnection, :start_link, [init_state]}, - restart: :transient + restart: :transient, + # Allow up to 240 restarts in 20 minutes - covers duration of a deploy + max_restarts: 240, + max_seconds: 1200 } end diff --git a/elixir/config/config.exs b/elixir/config/config.exs index 6f89d94df..4bee6860a 100644 --- a/elixir/config/config.exs +++ b/elixir/config/config.exs @@ -32,8 +32,6 @@ config :domain, Domain.Repo, config :domain, Domain.Events.ReplicationConnection, connection_opts: [ - # Automatically reconnect if we lose connection. - auto_reconnect: true, hostname: "localhost", port: 5432, ssl: false,