producer123

producer123

Complex projects runner for Elixir projects!

Hi all.

I just started a full-time job as a Elixir developer :star_struck:.
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

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 :wink:

NobbZ

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

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

lpil

Creator of Gleam

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 :slight_smile:

Where Next?

Popular in Questions Top

electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

Other popular topics Top

electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement