Example #1
0
    /// <inheritdoc />
    public async Task ReprocessAllEvents(EventHandlerId eventHandler, MicroserviceAddress runtime)
    {
        var client = _clients.CreateClientFor <EventHandlersClient>(runtime);

        var request = new ReprocessAllEventsRequest
        {
            ScopeId        = eventHandler.Scope.ToProtobuf(),
            EventHandlerId = eventHandler.EventHandler.ToProtobuf(),
        };

        var response = await client.ReprocessAllEventsAsync(request);

        if (response.Failure != null)
        {
            throw new ReprocessAllEventsFailed(response.Failure.Reason);
        }
    }
Example #2
0
    /// <inheritdoc />
    public override async Task <ReprocessAllEventsResponse> ReprocessAllEvents(ReprocessAllEventsRequest request, ServerCallContext context)
    {
        var response = new ReprocessAllEventsResponse();

        var getIds = GetEventHandlerId(request.ScopeId, request.EventHandlerId, out var eventHandler);

        if (!getIds.Success)
        {
            response.Failure = _exceptionToFailureConverter.ToFailure(getIds.Exception);
            return(response);
        }

        Log.ReprocessAllEvents(_logger, eventHandler.EventHandler, eventHandler.Scope);
        var reprocessing = await _eventHandlers.ReprocessAllEvents(eventHandler).ConfigureAwait(false);

        if (!reprocessing.Success)
        {
            Log.FailedDuringReprocessing(_logger, reprocessing.Exception);
            response.Failure = _exceptionToFailureConverter.ToFailure(reprocessing.Exception);
        }

        return(response);
    }