Beispiel #1
0
        private static async Task SendOverViewData(IProducer <Null, string> p)
        {
            var latestRead = CreateOverViewData();

            var latestSendTime = DateTime.Now;

            while (true)
            {
                new Task(async() => {
                    var containerData = await FetchOverviewData();
                    if (ContainerHelpers.OverviewContainersAreDifferent(latestRead.Containers, containerData) ||
                        latestSendTime.AddMinutes(_sendInterval) < DateTime.Now)
                    {
                        latestRead.Containers = containerData;
                        latestSendTime        = DateTime.Now;
                        await KafkaHelpers.SendMessageAsync(OverviewTopic, latestRead, p);
                    }
                }).Start();

                await Task.Delay(TimeSpan.FromSeconds(_checkInterval));
            }
        }