We currently have two tasks that run on another thread, fired from APPLICATION_START, to run procedures regularly. Users Online runs every minute, clearing out objects in memory, moving them to the database. Site Log runs once per day, purging the site logs.
There is a need to schedule additional tasks, and rather than hardcoding the tasks in APPLICATION_START, we need to provide a means of scheduling, managing and monitoring tasks through a user interface. We should also make it easy to allow 3rd party modules to register a process to run on the schedule. A user interface should allow admins to view the schedule history for each task and any details about each task run.