]> git.openstreetmap.org Git - nominatim.git/commitdiff
make block limit depend on bulk load not CPU load
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 18 Jan 2013 18:18:11 +0000 (19:18 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 18 Jan 2013 18:18:11 +0000 (19:18 +0100)
utils/cron_banip.py

index 12595b21208f36a5adb08ddd95b184d88769e935..d716affbe8e153b99d3fc8810c36ee61dbde9b19 100755 (executable)
@@ -62,6 +62,7 @@ BULKLONG_LIMIT=8000
 BULKSHORT_LIMIT=2000
 BLOCK_UPPER=19000
 BLOCK_LOADFAC=300
+BULK_LOADFAC=100
 
 #
 # END OF DEFAULT SETTINGS
@@ -77,8 +78,6 @@ fd = open("/proc/loadavg")
 avgload = int(float(fd.readline().split()[1]))
 fd.close()
 
-BLOCK_LIMIT = BLOCK_UPPER - BLOCK_LOADFAC * avgload
-
 # read the previous blocklist
 WHITELIST = set(WHITELIST.split()) if WHITELIST else set()
 prevblocks = []
@@ -100,6 +99,12 @@ try:
 except IOError:
     pass #ignore non-existing file
 
+# current number of bulks
+numbulks = len(prevbulks)
+
+BLOCK_LIMIT = BLOCK_UPPER - BLOCK_LOADFAC * (numbulks - 30)
+BULKLONG_LIMIT = BULKLONG_LIMIT - BULK_LOADFAC * (avgload - 16)
+
 conn = psycopg2.connect('dbname=nominatim')
 cur = conn.cursor()