aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2026-10-06 13:55:22 +0200
committerDaniel Schadt <kingdread@gmx.de>2026-10-06 13:55:22 +0200
commitc9898c08262d81beb73e750de38c12dbb70616b1 (patch)
tree7c5f3ca0d33d29bf769c5a14a510f35ab27668e7
parenta3541c87eb9c6069d559e0fb2924a1a7645e660f (diff)
downloadfietsboek-c9898c08262d81beb73e750de38c12dbb70616b1.tar.gz
fietsboek-c9898c08262d81beb73e750de38c12dbb70616b1.tar.bz2
fietsboek-c9898c08262d81beb73e750de38c12dbb70616b1.zip
have a max time for climb naming in fietscron
don't want each cron invocation to spend hours naming climbs
-rw-r--r--fietsboek/scripts/fietscron.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/fietsboek/scripts/fietscron.py b/fietsboek/scripts/fietscron.py
index da8bf0c..081b3b2 100644
--- a/fietsboek/scripts/fietscron.py
+++ b/fietsboek/scripts/fietscron.py
@@ -21,6 +21,7 @@ from ..views.tileproxy import TileRequester
from . import config_option
LOGGER = logging.getLogger(__name__)
+MAX_CLIMB_NAMING_TIME = datetime.timedelta(minutes=10)
@click.command()
@@ -201,6 +202,7 @@ def name_climbs(engine: Engine):
session = Session(engine)
LOGGER.debug("Naming climbs")
query = select(models.Climb).where(models.Climb.automatic_name.is_(None))
+ start = datetime.datetime.now(datetime.UTC)
for climb in session.execute(query).scalars():
LOGGER.debug("Attempting climb %s", climb.id)
path = climb.path()
@@ -209,6 +211,10 @@ def name_climbs(engine: Engine):
climb.automatic_name = name
session.add(climb)
session.commit()
+ elapsed = datetime.datetime.now(datetime.UTC) - start
+ if elapsed > MAX_CLIMB_NAMING_TIME:
+ LOGGER.debug("Exceeded time alotted for naming climbs, aborting for now...")
+ break
__all__ = ["cli"]