Commit 5b6881f4 authored by Florian Brandes's avatar Florian Brandes
Browse files

nixos/paperless-ngx: fix startup order



The nixOS test failed sporadically with a timeout.
This is due to a race condition in the startup  of
the scheduler vs the task-queue.

The scheduler runs the migration scripts in "pre-start" and
celery isn't available, yet. The celery worker (paperless-task-queue)
was already started by systemd but was unable to connect
(as the migration scripts from "pre-start" still ran).

This fix adds the necessary "after" condition in the systemd
worker unit and adds a test to "paperless"

Signed-off-by: default avatarFlorian Brandes <florian.brandes@posteo.de>
parent 9ec889b4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -258,6 +258,7 @@ in
        PrivateNetwork = false;
      };
      environment = env;
      after = [ "paperless-scheduler.service" ];
    };

    # Reading the user-provided password file requires root access
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,10 @@ import ./make-test-python.nix ({ lib, ... }: {
        # Wait until server accepts connections
        machine.wait_until_succeeds("curl -fs localhost:28981")

    # Required for consuming documents via the web interface
    with subtest("Task-queue gets ready"):
        machine.wait_for_unit("paperless-task-queue.service")

    with subtest("Add a document via the web interface"):
        machine.succeed(
            "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "