public async Task ProcessMessageAsync(MeetupMessage message) { DateTime messageTime = new DateTime(message.Timestamp.Year, message.Timestamp.Month, message.Timestamp.Day, message.Timestamp.Hour, message.Timestamp.Minute, 0); long basket = messageTime.Ticks; string counterKey = $"counter_{message.EventId}:{message.Group.Country}:{message.Group.City}"; string basketsKey = $"basket_{message.EventId}:{message.Group.Country}:{message.Group.City}"; IDatabase db = _multiplexer.GetDatabase(_redisConfiguration.Database); ITransaction transaction = db.CreateTransaction(); transaction.SortedSetIncrementAsync(counterKey, basket, 1); transaction.SortedSetAddAsync(basketsKey, basket, 0); await transaction.ExecuteAsync(); }
public abstract Task OnMessageAsync(MeetupMessage meetupMessage);
public override async Task OnMessageAsync(MeetupMessage meetupMessage) { await _streamAnalytics.ProcessMessageAsync(meetupMessage); }
public async Task SaveAsync(MeetupMessage message) { CloudBlockBlob blockBlob = _container.GetBlockBlobReference($"meetup_{DateTime.UtcNow.ToString("yyyyMMddHHmmss")}_{Guid.NewGuid()}"); await blockBlob.UploadTextAsync(JsonConvert.SerializeObject(message)); }
public override async Task OnMessageAsync(MeetupMessage meetupMessage) { await _meetupRepository.SaveAsync(meetupMessage); }
public void Produce(MeetupMessage message) { _client.Send(new BrokeredMessage(message)); }