       {:noreply, %{state | conn: conn, chan: chan}}
     else
       nil ->
-        {:noreply, %{state | conn: nil, chan: nil}, 5000}
+        Process.send_after(self(), :amqp_connect, 5000)
+        {:noreply, %{state | conn: nil, chan: nil}}
 
       err ->
         FarmbotCore.Logger.error(1, "Failed to connect to PingPong channel: #{inspect(err)}")
-        {:noreply, %{state | conn: nil, chan: nil}, 1000}
+        Process.send_after(self(), :amqp_connect, 2000)
+        {:noreply, %{state | conn: nil, chan: nil}}
     end
   end
 

    Process.flag(:sensitive, true)
    jwt = Keyword.fetch!(args, :jwt)
    http_ping_timer = Process.send_after(self(), :http_ping, 5000)

    _ = Leds.blue(:off)


    if state.chan, do: ConnectionWorker.close_channel(state.chan)
  end

  def handle_info(:connect_amqp, state) do
    bot = state.jwt.bot
    ping = bot <> "_ping"
    route = "bot.#{bot}.ping"
