Batch outside transactions
parent
be29e152d1
commit
19f0497ac3
|
@ -70,10 +70,16 @@ class EventsStore(SQLBaseStore):
|
||||||
for (event, _), stream in zip(events_and_contexts, stream_orderings):
|
for (event, _), stream in zip(events_and_contexts, stream_orderings):
|
||||||
event.internal_metadata.stream_ordering = stream
|
event.internal_metadata.stream_ordering = stream
|
||||||
|
|
||||||
|
chunks = [
|
||||||
|
events_and_contexts[x:x+100]
|
||||||
|
for x in xrange(0, len(events_and_contexts), 100)
|
||||||
|
]
|
||||||
|
|
||||||
|
for chunk in chunks:
|
||||||
yield self.runInteraction(
|
yield self.runInteraction(
|
||||||
"persist_events",
|
"persist_events",
|
||||||
self._persist_events_txn,
|
self._persist_events_txn,
|
||||||
events_and_contexts=events_and_contexts,
|
events_and_contexts=chunk,
|
||||||
backfilled=backfilled,
|
backfilled=backfilled,
|
||||||
is_new_state=is_new_state,
|
is_new_state=is_new_state,
|
||||||
)
|
)
|
||||||
|
@ -416,19 +422,6 @@ class EventsStore(SQLBaseStore):
|
||||||
def _persist_events_txn(self, txn, events_and_contexts, backfilled,
|
def _persist_events_txn(self, txn, events_and_contexts, backfilled,
|
||||||
is_new_state=True):
|
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
|
# Remove the any existing cache entries for the event_ids
|
||||||
for event, _ in events_and_contexts:
|
for event, _ in events_and_contexts:
|
||||||
txn.call_after(self._invalidate_get_event_cache, event.event_id)
|
txn.call_after(self._invalidate_get_event_cache, event.event_id)
|
||||||
|
|
Loading…
Reference in New Issue