The background scheduler can use crontab expressions to determine whether it should run on constant intervals determined by the crontab expression or only perform single task executions. Create a generic way to describe a task which means that the TaskManager doesn't know anything about the code each task executes. Here are the technical requirements:
Executes all tasks in background
Ability to persist all scheduled tasks even if the the web application restarts or crashes
ability to receive a callback from a task that was executed
ability to search a task and query for status
ability to set crontab expressions on tasks to set how and when the task executes
The background scheduler can use crontab expressions to determine whether it should run on constant intervals determined by the crontab expression or only perform single task executions. Create a generic way to describe a task which means that the TaskManager doesn't know anything about the code each task executes. Here are the technical requirements:
HangFire is a potential candidate: HangFire GitHub and HangFire