示例#1
0
        public Task Handle(FactoryOnlineEvent evnt)
        {
            var factory = _dbContext.Factories.FirstOrDefault(f => f.FactoryId == evnt.EntityId);

            if (factory != null)
            {
                factory.State    = FactoryState.Online;
                factory.LastSeen = evnt.Metadata.CreatedAt ?? factory.LastSeen;
            }
            return(Task.CompletedTask);
        }
示例#2
0
 public async Task OnEndReached(string topic, int partition, long offset)
 {
     while (_fakeFactories.Count > 0)
     {
         var factory = _fakeFactories[0];
         _fakeFactories.RemoveAt(0);
         _logger.Information($"Factory provisioned: {factory}, starting fake factory..");
         var response = new FactoryOnlineEvent(factory);
         await Task.Delay(3000).ContinueWith((_) => _producer.Produce(KafkaTopics.EVENTS, response));
     }
 }