public void Run(CancellationToken cancellationToken, Action<string> log)
{
log(string.Format("Started {0}", DateTime.Now));
while (!cancellationToken.IsCancellationRequested)
{
log(string.Format("Timestamp {0}", DateTime.Now));
cancellationToken.WaitHandle.WaitOne(5000);
}
log(string.Format("Stopped {0}", DateTime.Now));
}