From: Sarah Hoffmann Date: Thu, 4 Feb 2021 10:47:11 +0000 (+0100) Subject: reintroduce timeout for replication file download X-Git-Tag: v3.7.0~40^2 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/948217d5e91eb4614cfd38f27db08d4b633609e4 reintroduce timeout for replication file download This ports the --socket-timeout parameter from pyosmium-get-changes which ensures that the update process eventually times out on hanging network connections. --- diff --git a/nominatim/cli.py b/nominatim/cli.py index 722022b5..e28ff295 100644 --- a/nominatim/cli.py +++ b/nominatim/cli.py @@ -4,6 +4,7 @@ database administration and querying. """ import datetime as dt import os +import socket import sys import time import argparse @@ -261,11 +262,16 @@ class UpdateReplication: together with --once""") group.add_argument('--osm2pgsql-cache', metavar='SIZE', type=int, help='Size of cache to be used by osm2pgsql (in MB)') + group = parser.add_argument_group('Download parameters') + group.add_argument('--socket-timeout', dest='socket_timeout', type=int, default=60, + help='Set timeout for file downloads.') @staticmethod def _init_replication(args): from .tools import replication, refresh + socket.setdefaulttimeout(args.socket_timeout) + LOG.warning("Initialising replication updates") conn = connect(args.config.get_libpq_dsn()) replication.init_replication(conn, base_url=args.config.REPLICATION_URL)