Heyo. Trying to get exq going in Fly.io - split between to apps (the enqueuer, and the worker). Separating from a single repo/umbrella for reasons.
I’ve got the deploy pipelined up, but it doesn’t seem to start successfully:
2022-12-05T21:44:09Z runner[559dbcc0] iad [info]Pulling container image
2022-12-05T21:44:23Z runner[559dbcc0] iad [info]Pull failed, retrying (attempt #0)
2022-12-05T21:44:23Z runner[559dbcc0] iad [info]Unpacking image
2022-12-05T21:44:35Z runner[559dbcc0] iad [info]Preparing kernel init
2022-12-05T21:44:36Z app[559dbcc0] iad [info]Preparing to run: `launcher MIX_ENV=prod mix do app.start, exq.run` as heroku
2022-12-05T21:44:36Z app[559dbcc0] iad [info]2022/12/05 21:44:36 listening on [fdaa:0:33c6:a7b:92:559d:bcc0:2]:22 (DNS: [fdaa::3]:53)
2022-12-05T21:44:43Z runner[559dbcc0] iad [info]Starting instance
2022-12-05T21:44:48Z runner[559dbcc0] iad [info]Configuring virtual machine
2022-12-05T21:44:48Z runner[559dbcc0] iad [info]Pulling container image
2022-12-05T21:44:49Z runner[559dbcc0] iad [info]Starting virtual machine
2022-12-05T21:44:49Z app[559dbcc0] iad [info]Starting init (commit: f447594)...
2022-12-05T21:45:02Z runner[559dbcc0] iad [info]Unpacking image
2022-12-05T21:45:02Z runner[559dbcc0] iad [info]Preparing kernel init
2022-12-05T21:45:03Z runner[559dbcc0] iad [info]Starting virtual machine
2022-12-05T21:45:03Z app[559dbcc0] iad [info]Preparing to run: `launcher MIX_ENV=prod mix do app.start, exq.run` as heroku
2022-12-05T21:45:03Z app[559dbcc0] iad [info]2022/12/05 21:45:03 listening on [fdaa:0:33c6:a7b:92:559d:bcc0:2]:22 (DNS: [fdaa::3]:53)
My fly.toml
is simple:
# fly.toml file generated for lei-worker on 2022-12-05T16:33:18-05:00
app = "lei-worker"
kill_signal = "SIGINT"
kill_timeout = 5
[build]
builder = "heroku/buildpacks:20"
buildpacks = ["https://cnb-shim.herokuapp.com/v1/hashnuke/elixir"]
[env]
PORT = "8080"
[experimental]
allowed_public_ports = []
auto_rollback = true
[processes]
worker = "MIX_ENV=prod mix do app.start, exq.run"
[[services]]
processes = ["worker"]
Am wondering if there’s a healthcheck that’s happening, or trying to but I’ve got nothing. This worker only ever talks to redis, so I could confirm the connection using redis-cli
or something? Or does the worker need to respond to some sort of healthcheck to get declared OK to the VM?
TIA.
Kit