db timeout increase

This commit is contained in:
Graham McIntire 2025-06-25 08:57:45 -05:00
parent a0798c49f9
commit 91cd2688f7
No known key found for this signature in database
4 changed files with 38 additions and 1 deletions

View file

@ -15,6 +15,8 @@ config :aprsme, Aprsme.Repo,
stacktrace: true,
show_sensitive_data_on_connection_error: true,
pool_size: 10,
pool_timeout: 5000,
timeout: 15_000,
log: false,
types: Aprsme.PostgresTypes

View file

@ -50,6 +50,8 @@ if config_env() == :prod do
# ssl: true,
url: database_url,
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
pool_timeout: String.to_integer(System.get_env("POOL_TIMEOUT") || "5000"),
timeout: String.to_integer(System.get_env("DB_TIMEOUT") || "15000"),
socket_options: maybe_ipv6,
types: Aprsme.PostgresTypes

View file

@ -463,7 +463,19 @@ defmodule Aprsme.Packets do
"""
@spec get_total_packet_count() :: non_neg_integer()
def get_total_packet_count do
Repo.one(from p in Packet, select: count(p.id))
Repo.one(from p in Packet, select: count(p.id)) || 0
rescue
DBConnection.ConnectionError ->
require Logger
Logger.warning("Database connection error in get_total_packet_count, returning 0")
0
error ->
require Logger
Logger.error("Error getting total packet count: #{inspect(error)}")
0
end
@doc """

View file

@ -328,6 +328,27 @@ defmodule AprsmeWeb.StatusLive.Index do
defp get_aprs_status do
Aprsme.Is.get_status()
rescue
error ->
require Logger
Logger.error("Error getting APRS status: #{inspect(error)}")
# Return a default status when database is unavailable
%{
connected: false,
server: "unknown",
port: 0,
connected_at: nil,
uptime_seconds: 0,
login_id: "unknown",
filter: "unknown",
packet_stats: %{
total_packets: 0,
packets_per_second: 0,
last_packet_at: nil
},
stored_packet_count: 0
}
end
defp get_app_version do