I have an ASP.Net Core Web API application which needs to run a process that queries a db, does 30-40 requests to an external API and saves the results back to the db. This can take anywhere from 40 seconds to several minutes.
I discovered early that trying to halt the web api call or running this in a background task are non starters because of the way the lifetime of the ASP.NET pipeline works.
I’m having a hard time grokking the solutions out there, how is hangfire vs webjobs (or functions) or Signalr R hubs (not available on core yet) different? I can’t find any info online comparing the two. Is there really nothing built-in to ASP.Net to handle this?
Each step in my application’s background processing has checks for failure, logs it and continues on, is there a way to expose the status of the processing through a custom html UI as it happens?