Process long-running tasks in ASP.NET Core for a monolithic application. System.Channel, Reactive Extension and TPL is used