1. A method comprising maintaining a database that stores data persistently, accepting tasks from task sources, the tasks being associated with priority information that identifies each of them as having one of at least two different levels of priority for execution, defining, for each of the tasks, jobs to be executed to complete the task, distributing the jobs for concurrent execution by processors, the jobs being assigned to the processors based on characteristics of items of the data to be accessed during execution, and selecting jobs for execution in an order that is based on the priorities of the tasks with which they are associated.