Hey,
When deploying my app it seems like it:
- Starts the container
- Fails the healthcheck (because the server hasn’t fully started yet)
- The server starts
- Waits 3.5min until the runner shuts down the virtual machine
Logs as well as the fly.toml file attached below:
2023-04-19T14:35:17.856 runner[f0312282] arn [info] Starting instance
2023-04-19T14:35:17.896 runner[f0312282] arn [info] Configuring virtual machine
2023-04-19T14:35:17.902 runner[f0312282] arn [info] Pulling container image
2023-04-19T14:36:00.892 runner[f0312282] arn [info] Unpacking image
2023-04-19T14:36:42.793 runner[f0312282] arn [info] Preparing kernel init
2023-04-19T14:36:43.143 runner[f0312282] arn [info] Configuring firecracker
2023-04-19T14:36:43.278 runner[f0312282] arn [info] Starting virtual machine
2023-04-19T14:36:43.468 app[f0312282] arn [info] Starting init (commit: ed64554)...
2023-04-19T14:36:43.498 app[f0312282] arn [info] Preparing to run: `/cnb/process/web` as 1000
2023-04-19T14:36:43.515 app[f0312282] arn [info] 2023/04/19 14:36:43 listening on [fdaa:1:700f:a7b:e8:f031:2282:2]:22 (DNS: [fdaa::3]:53)
2023-04-19T14:36:44.823 health[f0312282] arn [warn] Health check on port 8080 is in a 'warning' state. Your app may not be responding properly. Services exposed on ports [80, 443] may have intermittent failures until the health check passes.
2023-04-19T14:36:49.823 health[f0312282] arn [error] Health check on port 8080 has failed. Your app is not responding properly. Services exposed on ports [80, 443] will have intermittent failures until the health check passes.
2023-04-19T14:36:50.965 app[f0312282] arn [info] [nltk_data] Downloading package punkt to /home/cnb/nltk_data...
2023-04-19T14:36:51.029 app[f0312282] arn [info] [nltk_data] Unzipping tokenizers/punkt.zip.
2023-04-19T14:36:51.297 app[f0312282] arn [info] [nltk_data] Downloading package stopwords to /home/cnb/nltk_data...
2023-04-19T14:36:51.312 app[f0312282] arn [info] [nltk_data] Unzipping corpora/stopwords.zip.
2023-04-19T14:36:57.397 app[f0312282] arn [info] INFO: Started server process [520]
2023-04-19T14:36:57.397 app[f0312282] arn [info] INFO: Waiting for application startup.
2023-04-19T14:36:59.042 app[f0312282] arn [info] INFO: Application startup complete.
2023-04-19T14:36:59.043 app[f0312282] arn [info] INFO: Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
2023-04-19T14:40:31.753 runner[f0312282] arn [info] Shutting down virtual machine
2023-04-19T14:40:31.878 app[f0312282] arn [info] Sending signal SIGINT to main child process w/ PID 520
2023-04-19T14:40:31.929 app[f0312282] arn [info] INFO: Shutting down
2023-04-19T14:40:32.029 app[f0312282] arn [info] INFO: Waiting for application shutdown.
2023-04-19T14:40:32.030 app[f0312282] arn [info] INFO: Application shutdown complete.
2023-04-19T14:40:32.030 app[f0312282] arn [info] INFO: Finished server process [520]
2023-04-19T14:40:32.030 app[f0312282] arn [info] loading bm25
2023-04-19T14:40:33.786 app[f0312282] arn [info] Starting clean up.
fly.toml
app = "name"
kill_signal = "SIGINT"
kill_timeout = 5
processes = []
[build]
builder = "paketobuildpacks/builder:full"
[env]
PORT = "8080"
[experimental]
auto_rollback = true
[[services]]
http_checks = []
internal_port = 8080
processes = ["app"]
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"
[services.ports.http_options.response.headers]
...