indexer: get rid of special handling of few places

Given that we do not distiribute geometry sectors to threads anymore,
there is no point in this kind of special handling.
This commit is contained in:
Sarah Hoffmann
2020-07-29 15:24:57 +02:00
parent 0f5fc10e31
commit 30016b98b7

View File

@@ -234,31 +234,22 @@ class Indexer(object):
done_tuples = 0 done_tuples = 0
rank_start_time = datetime.now() rank_start_time = datetime.now()
sector_sql = obj.sql_sector_places()
index_sql = obj.sql_index_place()
min_grouped_tuples = total_tuples - len(self.threads) * 1000 min_grouped_tuples = total_tuples - len(self.threads) * 1000
next_info = 100 if log.isEnabledFor(logging.INFO) else total_tuples + 1 next_info = 100 if log.isEnabledFor(logging.INFO) else total_tuples + 1
pcur = self.conn.cursor()
for r in cur: for r in cur:
sector = r[0] sector = r[0]
pcur.execute(obj.sql_sector_places(), (sector, ))
# Should we do the remaining ones together?
do_all = done_tuples > min_grouped_tuples
pcur = self.conn.cursor(name='places')
if do_all:
pcur.execute(obj.sql_nosector_places())
else:
pcur.execute(sector_sql, (sector, ))
for place in pcur: for place in pcur:
place_id = place[0] place_id = place[0]
log.debug("Processing place {}".format(place_id)) log.debug("Processing place {}".format(place_id))
thread = next(next_thread) thread = next(next_thread)
thread.perform(index_sql, (place_id,)) thread.perform(obj.sql_index_place(), (place_id,))
done_tuples += 1 done_tuples += 1
if done_tuples >= next_info: if done_tuples >= next_info:
@@ -271,11 +262,7 @@ class Indexer(object):
(total_tuples - done_tuples)/tuples_per_sec)) (total_tuples - done_tuples)/tuples_per_sec))
next_info += int(tuples_per_sec) next_info += int(tuples_per_sec)
pcur.close() pcur.close()
if do_all:
break
cur.close() cur.close()
for t in self.threads: for t in self.threads: