From fef6c0360bb72dfaf93e02f0a68bf9b02ef46000 Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Mon, 11 Jan 2021 15:14:54 +0100
Subject: [PATCH] =?UTF-8?q?Jobs:=20=C4=8Casov=C3=A9=20parametry=20job?=
 =?UTF-8?q?=C5=AF=20jsou=20nastaviteln=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 etc/config.py.example | 6 ++++++
 mo/jobs/__init__.py   | 3 ++-
 mo/web/__init__.py    | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/etc/config.py.example b/etc/config.py.example
index f73c340f..03fe33b4 100644
--- a/etc/config.py.example
+++ b/etc/config.py.example
@@ -24,3 +24,9 @@ MAX_CONTENT_LENGTH = 16777216
 
 # Adresář, do kterého ukládáme data (pro vývoj relativní, pro instalaci absolutní)
 DATA_DIR = 'data'
+
+# Jak často se má provádět periodická kontrola dávek [s]
+JOB_GC_PERIOD = 60
+
+# Za jak dlouho expiruje dokončený job [min]
+JOB_EXPIRATION = 5
diff --git a/mo/jobs/__init__.py b/mo/jobs/__init__.py
index f0071604..f2f75e32 100644
--- a/mo/jobs/__init__.py
+++ b/mo/jobs/__init__.py
@@ -7,6 +7,7 @@ from sqlalchemy import or_
 from typing import Optional, Dict, Callable
 
 import mo
+import mo.config as config
 import mo.db as db
 import mo.util
 from mo.util import logger
@@ -117,7 +118,7 @@ class TheJob:
             return
 
         job.finished_at = mo.util.get_now()
-        job.expires_at = job.finished_at + timedelta(minutes=5)  # FIXME
+        job.expires_at = job.finished_at + timedelta(minutes=config.JOB_EXPIRATION)
         sess.commit()
 
 
diff --git a/mo/web/__init__.py b/mo/web/__init__.py
index e5261a5d..7eb114f0 100644
--- a/mo/web/__init__.py
+++ b/mo/web/__init__.py
@@ -96,7 +96,7 @@ try:
 
     # Čas od času se probudíme a projdeme joby pro případ, že by se ztratil signál.
     # Také při tom expirujeme zastaralé joby.
-    @timer(120, target='mule')
+    @timer(config.JOB_GC_PERIOD, target='mule')
     def mule_timer(signum):
         app.logger.debug('Mule: Timer tick')
         with app.app_context():
-- 
GitLab