示例#1
0
        public async Task StartProcessing(CancellationToken cancellationToken)
        {
            await foreach (var record in _eventListener.GetAsync(cancellationToken))
            {
                var handler = _eventHandlers.FirstOrDefault(x => x.CanHandle(record.PayloadType));

                if (handler == null)
                {
                    continue;
                }

                var payload = record.Payload as JObject;

                if (payload == null)
                {
                    _logger.Warning("Payload is null");
                }

                await handler.HandleAsync(payload.ToObject(record.PayloadType));
            }
        }