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