- Jul 2020
If the run-time dependencies were shared across all applications depending on the same rebar.config file,
This sentence is straightforward but I only understood it just now.
rebar.configcan specify the dependencies of all the applications in the umbrella project, but they are not necessarily run-time dependencies. Also, the
relxexample from the
rebar.configabove shows how to include an app/lib (in this case,
recon) in the final production release, even if it is not a run-time dependency.
This guide also expands on it a paragraph below:
The Rebar3 maintainers therefore just decided to keep a clear distinction between the applications that need fetching for the project to build or run (in
rebar.config), and the run-time dependencies of each OTP application (in the
.appfile) which may be part of the default OTP install, and would therefore not be included in
rebar.config. Other build tools in the ecosystem let you achieve similar results, but they default to including everything at run-time whereas Rebar3 asks of developers to always be specific in their intent.
mark the workers as permanent or transient, so that if they fail they get restarted
restartdefines when a terminated child process must be restarted.
permanentchild process is always restarted.
temporarychild process is never restarted (even when the supervisor's restart strategy is
one_for_alland a sibling's death causes the
temporaryprocess to be terminated).
transientchild process is restarted only if it terminates abnormally, that is, with another exit reason than
- Jul 2019
- Mar 2017