Only persist a maximum of 100 events at a time

This commit is contained in:
Erik Johnston 2015-06-22 17:17:25 +01:00
parent 96ce61b2b1
commit a4ad9b9556
1 changed files with 13 additions and 0 deletions

View File

@ -416,6 +416,19 @@ class EventsStore(SQLBaseStore):
def _persist_events_txn(self, txn, events_and_contexts, backfilled,
is_new_state=True):
if len(events_and_contexts) > 100:
chunks = [
events_and_contexts[x:x+100]
for x in xrange(0, len(events_and_contexts), 100)
]
for chunk in chunks:
self._persist_events_txn(
txn,
chunk, backfilled, is_new_state,
)
return
# Remove the any existing cache entries for the event_ids
for event, _ in events_and_contexts:
txn.call_after(self._invalidate_get_event_cache, event.event_id)