From ceee8caac24e3001b40154dbd363ca47d75777a4 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Thu, 20 Jan 2022 17:17:31 +0100
Subject: [PATCH] [Docs] Document periodic tasks

---
 docs/admin/02_install.rst |  2 ++
 docs/admin/07_tasks.rst   | 26 ++++++++++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 docs/admin/07_tasks.rst

diff --git a/docs/admin/02_install.rst b/docs/admin/02_install.rst
index 64e675b72..c234fa5d7 100644
--- a/docs/admin/02_install.rst
+++ b/docs/admin/02_install.rst
@@ -125,6 +125,8 @@ from `yarnpkg`, collect static files, and migrate the database to the final sche
    aleksis-admin migrate
    aleksis-admin createinitialrevisions
 
+.. _core-configure-uwsgi:
+
 Configure uWSGI
 ~~~~~~~~~~~~~~~
 
diff --git a/docs/admin/07_tasks.rst b/docs/admin/07_tasks.rst
new file mode 100644
index 000000000..f8e2dcaf2
--- /dev/null
+++ b/docs/admin/07_tasks.rst
@@ -0,0 +1,26 @@
+Background tasks
+================
+
+Operations that are expected to take a long time are run as background tasks.
+For this, at least one `Celery`_ worker has to be running, e.g. by coupling it
+with uWSGI as laid out in :ref:`core-configure-uwsgi`.
+
+If a task is triggered from the AlekSIS frontend, for example by starting an import
+job, a progress page is displayed, and the result of the job is waited for.
+
+.. _core-periodic-tasks:
+
+Periodic tasks
+~~~~~~~~~~~~~~
+
+Some tasks are also run on a schedule. For example, the backup job is run on
+a regular basis.
+
+All tasks in AlekSIS that are expected to run have a default schedule, which
+is registered when migrating the database. Changing this default schedule
+is currently only possible through the Django Admin backend, under
+*Admin → Backend Admin*.
+
+Under the *Periodic Tasks* app, you can define schedules and tasks. The names
+of tasks you can add manually are documented in the respective sections
+of the manual.
-- 
GitLab