TwistingTwists
Poolboy example error: (Mix) Could not start application poolboy_py_elixir
(Mix) Could not start application poolboy_py_elixir: PoolboyPyElixir.Application.start(:normal, []) returned an error: shutdown: failed to start child: :square_worker
** (EXIT) an exception was raised:
** (MatchError) no match of right hand side value:
{:error, {:EXIT, {:undef, [{PoolboyPyElixir.SquareWorker, :start_link, [[]], []}, {:supervisor, :do_start_child_i, 3, [file: 'supervisor.erl', line: 414]}, {:supervisor, :handle_call, 3, [file: 'supervisor.erl', line: 439]},
{:gen_server, :try_handle_call, 4, [file: 'gen_server.erl', line: 721]},
{:gen_server, :handle_msg, 6, [file: 'gen_server.erl', line: 750]},
{:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 226]}]}}}
The sample repo’s application.ex is here.
I am trying to follow this post.
This is first time trying to understand poolboy. Any help is appreciated.
Marked As Solved
krstfk
It’s probably because the start_link in your SquareWorker module expect 0 argument while the supervisor starting the process expects 1 argument.
Also Liked
krstfk
Well, it’s not really obvious, but when you see that after the error:
You see that something is undefined, and if you know about the mfa notation (module, function, arguments), namely PoolboyPyElixir.SquareWorker is the module, :start_link is the function, and [[]] are the arguments (one arg of empty list), it starts to make sense. Especially if you keep in my that in Erlang/Elixir, the arity of a function is part of its signature.
TwistingTwists
thanks for insight on reading the error message. Kudos for the acronym mfa.
This helps me become 1% better debugger.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #javascript
- #code-sync
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








