I have a simple Mix Task in one of my projects for making a request to a service with Finch
. Here is a simple example of doing such a thing.
defmodule Mix.Tasks.Example.Request do
use Mix.Task
def run([]) do
Finch.start_link(name: MyFinch)
Finch.build(:get, "https://github.com")
|> Finch.request(MyFinch)
end
end
If I run this with mix example.request
, I get the following output:
$ mix example.request
Compiling 1 file (.ex)
09:47:57.913 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:57.920 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:57.921 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:57.921 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:58.160 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:58.161 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:58.162 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:58.162 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:58.388 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
09:47:58.388 [warning] Failed to lookup telemetry handlers. Ensure the telemetry application has been started.
The request completes as expected, but I get all of these warnings related to my telemetry application not being started. I don’t want to start any telemetry application, though. It’s a simple one-off Mix task that has nothing to do with the rest of my app per se and I don’t want to run app.start
or similar.
Interestingly, if I do the same thing with a simple exs script, I get no warnings.
Mix.install([:finch])
Finch.start_link(name: MyFinch)
Finch.build(:get, "https://github.com")
|> Finch.request(MyFinch)
I have three questions:
- Why do I get these warnings?
- How can I silence them?
- Why do they only show up when run in a Mix task within the application, but not in a standalone Mix install script? I’m guessing something specified in my
mix.exs
file or in myconfig.exs
file(s) is causing this, but not sure which.
Cheers,