title: What Am I Missing About Reactive Extension Timers?
body: <p>I have this:</p>
  
  <pre><code>watchers
    .ToObservable() // needs to be observable
    .SelectMany(watcher =&gt;         // working on each watcher
      Observable
        // create a timer for the watcher
        .Timer(watcher.StartTime, TimeSpan.FromHours(watcher.Interval))  
        .SelectMany(Observable.FromAsync(
          async () =&gt; new { watcher, result = await CheckFolder(watcher.Path) }))) 
    .Subscribe(x =&gt; Console.WriteLine(string.Format("Watcher: {0}\tResult: {1}\tTime: {2}", x.watcher.Name, x.result, DateTimeOffset.Now))); // tell everyone what happened.
  </code></pre>
  
  <p>Which is a nice little bit of code from <a href="https://stackoverflow.com/questions/18116506/creating-multiple-timers-with-reactive-extensions">this post</a> that got me started down this road.  The goal is to ping a web service (via the <code>CheckFolder()</code> method) every time the <code>Timer</code>s publish, based on a given start time and interval.  </p>
  
  <p>The trouble is, every time I run the program it outputs a single message for the first Watcher, and then the program exits without error.  It gets the first answer, and it's finished.  </p>
  
  <p>How do get it to wait for the other publications from all the timers?</p>
  
  <p>I'm almost positive I'm not asking this question the right way, but hopefully a little feedback will help me refine my question. </p>
  
  <p>Thanks.</p>