Can I remove the "app" process group, if I only care with "web" and "worker"?

Hi!

I have a Ruby on Rails app where I have the following in the fly.toml file:

app = "my-app"
kill_signal = "SIGINT"
kill_timeout = 5

[processes]
web = "bin/rails fly:server"
worker = "bin/good_job start"

[build]
  [build.args]
    BUILD_COMMAND = "bin/rails fly:build"
    SERVER_COMMAND = "bin/rails fly:server"

[deploy]
  release_command = "bin/rails fly:release"

[env]
  PORT = "8080"

[experimental]
  allowed_public_ports = []
  auto_rollback = true

[[services]]
  http_checks = []
  internal_port = 8080
  processes = ["web"]
  protocol = "tcp"
  script_checks = []
  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    force_https = true
    handlers = ["http"]
    port = 80

  [[services.ports]]
    handlers = ["tls", "http"]
    port = 443

  [[services.tcp_checks]]
    grace_period = "1s"
    interval = "15s"
    restart_limit = 0
    timeout = "2s"

[[statics]]
  guest_path = "/app/public"
  url_prefix = "/"

You can see that I only have a “web” and a “worker” process group set.

However, when I run fly scale show, I see the following:

VM Resources for my-app
          Count: web=1 worker=1 
 Max Per Region: app=0 web=0 worker=0 

Process group app
        VM Size: shared-cpu-1x
      VM Memory: 512 MB
 Max Per Region: 0

Process group web
        VM Size: shared-cpu-1x
      VM Memory: 512 MB
 Max Per Region: 0

Process group worker
        VM Size: shared-cpu-1x
      VM Memory: 512 MB
 Max Per Region: 0

Notice that there’s still an “app” process group defined. So to some questions:

  1. Do I have to care with it, if it’s set as 0?
  2. Is it possible to remove a process group, so I can remove the “app” process group and only have “web” and “worker”?

Thank you!

1 Like

I have the same question. Did you ever figure it out?
And how do you remove process groups?

  1. I don’t think you need to worry about it, if set to 0.
  2. app is the default process that exists in all Fly app configs I have seen. It may or may not be deployed (in your case, it isn’t).

I don’t know for sure, but it looks like multi-process Fly apps are likely to be phased out given these aren’t really that intuitive to work with, and have some rough edges and unfinished corners.

1 Like