Patent ID: 8261275

Claim:
A non-transitory computer readable medium comprising executable instructions for heuristics-based task scheduling, wherein the executable instructions comprise instructions to: receive a request at a task engine; determine a first task corresponding to the request using a request-to-task mapping; obtain a first task entry corresponding with the first task from a task store, wherein the first task entry associates the first task with a first action, a first predicate for performing the first action, and a first action parameter for the first action; create a first task object in a task pool; receive a first event notification at the task engine, wherein the first event notification is associated with a first event; determine the first event using the first event notification; determine whether the first predicate for the first action is satisfied by the first event, wherein the first predicate for the first action, the first action, the first action parameter for the first action are associated with the first task object in the task pool; obtain the first action parameter using the first task object when the first predicate for the first action is satisfied by the first event; assign the first task object a priority using a heuristics policy based on the first action parameter; and insert the first task object into a task queue using the assigned priority, wherein the task queue comprises a plurality of task objects, and wherein the plurality of task objects are ordered according to priority, wherein the first action associated with the first task object is performed by an execution thread when the first task object is obtained from the task queue, wherein the performance of the first action is a second event, and wherein the second event is associated with a second event notification sent to the task engine.