We are introducing a completely new task scheduler in OpenMRS core 2.9+. It is based on JobRunr.
It comes with a great administrative UI, which gives every admin an overview of all scheduled and running tasks in the system. Tasks are automatically retried on failures and cancelled if they continue to fail. Tasks are also distributed across replicas if running in a cluster.
The best part is that your old tasks implementing Task and accompanied by a TaskDefinition continue to work without any code changes. The old API is still available, but you are encouraged to move to the new much simpler API, in which tasks are automatically serialized to json for you. You also get access to a progress indicator from within your tasks. Tasks are assigned to users and executed with their privileges so you can easily schedule one-off background tasks such as data exports/imports, produce reports/summaries, etc.
Please visit our wiki to learn more and see TRUNK-6558.