Что мне не хватает в реактивных таймерах расширения?
У меня есть это:
watchers
.ToObservable() // needs to be observable
.SelectMany(watcher => // working on each watcher
Observable
// create a timer for the watcher
.Timer(watcher.StartTime, TimeSpan.FromHours(watcher.Interval))
.SelectMany(Observable.FromAsync(
async () => new { watcher, result = await CheckFolder(watcher.Path) })))
.Subscribe(x => Console.WriteLine(string.Format("Watcher: {0}\tResult: {1}\tTime: {2}", x.watcher.Name, x.result, DateTimeOffset.Now))); // tell everyone what happened.
Какой хороший кусок кода изэта почта это заставило меня начать этот путь. Цель состоит в том, чтобы пропинговать веб-сервис (черезCheckFolder()
метод) каждый раз, когдаTimer
s публиковать, основываясь на заданном времени начала и интервале.
Проблема в том, что каждый раз, когда я запускаю программу, она выводит одно сообщение для первого наблюдателя, а затем программа завершает работу без ошибок. Он получает первый ответ, и этозакончено.
Как заставить его ждать другие публикации от всех таймеров?
Я почти уверен, что яЯ не задаю этот вопрос правильно, но, надеюсь, небольшой отзыв поможет мне уточнить мой вопрос.
Благодарю.