aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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"]