From 948217d5e91eb4614cfd38f27db08d4b633609e4 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Thu, 4 Feb 2021 11:47:11 +0100 Subject: [PATCH] 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. --- nominatim/cli.py | 6 ++++++ 1 file changed, 6 insertions(+) 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)