Scheduled jobsΒΆ

We’ve several different scheduled jobs across our infrastructure:

  • Cronjobs on the Linux servers

  • systemd timers on the Linux servers

  • Scheduled GitLab CI pipelines

  • Application tasks (e.g. via Celery)

SchedulesΒΆ

Important

To ensure a stable environment, it’s important that all the jobs are properly synced in time. Whenever setting up a new job, ensure you’re following the schedules below.

Jobs for which downtime is expected will be communicated to customers via πŸ—“ Maintenance windows. Thus, don’t change the times without appropriate communication.

OS schedulesΒΆ

Time

Weekday

Action

Source

*:00 (+ random 15min)

everyday

Run borg backups.

borg role

01:00

everyday

Run short S.M.A.R.T. tests

smart role

02:00

Sundays

Run long S.M.A.R.T. tests

smart role

04:30 (+ random 15min)

everyday

Download apt upgrades. After CI jobs, before upgrades.

apt_unattended_upgrades role

05:30 (+ random 5min)

everyday

Install apt upgrades. After CI jobs & downloads, before morning.

apt_unattended_upgrades role

05:50 / 05:55

Sundays

Reboot systems when required. After upgrades, before morning.

reboot role

CI & Docker schedulesΒΆ

Time

Weekday

Action

Source

/4:00

everyday

Run GitLab Guard. Doesn’t affect backup much.

GitLab Guard pipeline

/4:00

everyday

Run Renovate. Doesn’t affect backup much.

Renovate pipeline

/4:00

everyday

Run Docker Registry garbage collection. Doesn’t affect backup much.

Docker registry pipeline

03:30

everyday

Build Docker Base images (stage 1). After backup is done.

Docker image pipelines

03:45

everyday

Build Docker Base images (stage 2). After stage 1 is done.

Docker image pipelines

04:00

everyday

Run library tests. After new base images.

Python library pipelines

04:30

everyday

Run Docker system garbage collection. After backup, far after new base images.

docker-gc timer docker-gc service

Docker service schedulesΒΆ

Time

Weekday

Action

Source

hourly (+ random 5min)

everyday

Database backups.

Postgres Docker image entrypoint MariaDB Docker image entrypoint

hourly

everyday

Run LDAP backup.

LDAP Docker image entrypoint

04:45

everyday

Run GitLab backup. After CI jobs, before next backup.

GitLab Docker image entrypoint

*:55

everyday

Cleanup GitLab artifacts.

GitLab configuration