improve dev and db performance

This commit is contained in:
Elio Bischof
2023-06-30 12:39:22 +02:00
parent 8fac74e7ee
commit 053212c45e
4 changed files with 77 additions and 38 deletions

View File

@@ -164,6 +164,13 @@ func (h *ProjectionHandler) Process(ctx context.Context, events ...eventstore.Ev
// FetchEvents checks the current sequences and filters for newer events
func (h *ProjectionHandler) FetchEvents(ctx context.Context, instances ...string) ([]eventstore.Event, bool, error) {
if h.reduceScheduledPseudoEvent {
return h.fetchPseudoEvents(ctx, instances...)
}
return h.fetchDBEvents(ctx, instances...)
}
func (h *ProjectionHandler) fetchDBEvents(ctx context.Context, instances ...string) ([]eventstore.Event, bool, error) {
eventQuery, eventsLimit, err := h.searchQuery(ctx, instances)
if err != nil {
return nil, false, err
@@ -172,10 +179,11 @@ func (h *ProjectionHandler) FetchEvents(ctx context.Context, instances ...string
if err != nil {
return nil, false, err
}
if h.reduceScheduledPseudoEvent {
events = []eventstore.Event{pseudo.NewScheduledEvent(ctx, time.Now(), events[0], instances...)}
}
return events, int(eventsLimit) == len(events) && !h.reduceScheduledPseudoEvent, err
return events, int(eventsLimit) == len(events), err
}
func (h *ProjectionHandler) fetchPseudoEvents(ctx context.Context, instances ...string) ([]eventstore.Event, bool, error) {
return []eventstore.Event{pseudo.NewScheduledEvent(ctx, time.Now(), instances...)}, false, nil
}
func (h *ProjectionHandler) subscribe(ctx context.Context) {