diff --git a/etc/config.py.example b/etc/config.py.example index f73c340ff9ff51211387f400732a8d5a086f64cc..03fe33b4da74af3045b609990adb3663b45a1f2d 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 f007160426064e798d9f8f9bc3c0fae837db8221..f2f75e3282df2e0e9740e63ef99ccd2ecf9f7be6 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 e5261a5d432fe311de52b7056ec9e8edd6868736..7eb114f068d37c211e3017e70c153c34c6c2ec9a 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():