FerryDocs
ArchitectureOverview

Background tasks

Seven tasks run in ferryd with no request from you.

Edit on GitHub
Route watchereach secondReconcilereach 10 secondsCron schedulerabout each 15 sDockerRoute tableCron runa new container

Each second, the route watcher reads the host ports of the instances. It updates the route table.

1 / 3

All the tasks

TaskWhenWhat it does
One per service that has deploys in the queueEach worker runs the deploys of its service one at a time, in order. The server builds 2 images at a time (--build-concurrency). See Deploy pipeline.
At boot, each 10 seconds, and after scale, suspend and resumeIt makes the containers and the routes agree with the store. See Reconciler.
Each secondIt follows the host ports of the instances. Thus the routes follow a container that Docker restarted on a new port.
On each Docker oom eventIt logs each container of this server that the kernel killed because of its memory limit. See OOM watcher.
Cron schedulerAbout each 15 secondsIt starts the runs of the whose schedule is due (UTC). It skips the runs that the server missed while it was down.
detectorEach second, only while a client listensIt compares the store and sends what changed.
TLS managerWith --https-addr and --acme-emailIt requests for the public hosts. It renews those that expire in less than 30 days.

On this page