producer123
Complex projects runner for Elixir projects!
Hi all.
I just started a full-time job as a Elixir developer
.
Previously I worked mostly with Ruby stack and we used a lot Procfile with foreman 5 to start complex applications (e.g. I need to start one job worker, front-end server and the application itself).
Didn’t find anything like this for Elixir projects. Maybe you have tips and/or suggestions how you solve?
Most Liked
NobbZ
I have no clue what a Procfile is, but usually I’d start services via systemd and let it handle dependencies as well.
In development its of course a bit different, there I’d have a script which kicks off and shuts down a bunch of docker containers for external services.
Also as long as your other stuff is running on the BEAM itself, you can add them as dependency and they will be started by the BEAM during your Apps start up process.
If I actually got your question wrong, please refine ![]()
NobbZ
Okay, I now had some time to spare and google, and I learned that a procfile is specific to heroku, so if you want to stick to heroku, you’ll have no other option than to continue using this procfile…
NobbZ
On a quick glance, it seems to be a flat yaml (only one level) where the keys are your node/dyno names and the values are a single command to run to start your server on that node/dyno.
Last Post!
lpil
If you’re starting multiple applications in multiple languages, continue using foreman! If it’s a tool that’s worked well for you in the past (and you have Ruby installed on your machine) there’s no reason to switch now.
If it’s all Elixir/Erlang things you wish to start I would ask why do you want to use more than one VM?
In the Ruby world I might create a new operating system process to perform some work concurrently, but with Elixir/Erlang I just add more processes to my supervision tree. Easier to manage, and more performant ![]()
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
- #code-sync
- #javascript
- #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
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









