From 537eabe577255a29b2d0f38a239f5915a90367aa Mon Sep 17 00:00:00 2001 From: Parker Selbert Date: Wed, 5 Feb 2025 13:33:29 +0000 Subject: [PATCH] Log unexpected messages from trapping servers The `reporter` and `cronitor` have a small set of messages they expect. Rather than crashing on unexpected messages, the processes now log a warning instead. --- lib/oban/met/cronitor.ex | 12 ++++++++++++ lib/oban/met/reporter.ex | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/oban/met/cronitor.ex b/lib/oban/met/cronitor.ex index 2c0cf4d..efc08c3 100644 --- a/lib/oban/met/cronitor.ex +++ b/lib/oban/met/cronitor.ex @@ -6,6 +6,8 @@ defmodule Oban.Met.Cronitor do alias __MODULE__, as: State alias Oban.Notifier + require Logger + defstruct [ :conf, :name, @@ -112,6 +114,16 @@ defmodule Oban.Met.Cronitor do {:noreply, %State{state | crontabs: crontabs}} end + def handle_info(message, state) do + Logger.warning( + message: "Received unexpected message: #{inspect(message)}", + source: :oban_met, + module: __MODULE__ + ) + + {:noreply, state} + end + # Helpers defp purge_stale(state) do diff --git a/lib/oban/met/reporter.ex b/lib/oban/met/reporter.ex index d543602..2c9619a 100644 --- a/lib/oban/met/reporter.ex +++ b/lib/oban/met/reporter.ex @@ -17,6 +17,8 @@ defmodule Oban.Met.Reporter do alias Oban.Met.Values.Gauge alias Oban.Pro.Engines.Smart + require Logger + @empty_states %{ "available" => [], "cancelled" => [], @@ -116,6 +118,16 @@ defmodule Oban.Met.Reporter do end end + def handle_info(message, state) do + Logger.warning( + message: "Received unexpected message: #{inspect(message)}", + source: :oban_met, + module: __MODULE__ + ) + + {:noreply, state} + end + # Scheduling defp schedule_checks(state) do