1. A method, comprising: receiving a first fact in an inference engine implemented on a cluster of computers, the inference engine having a schedule router, a rule router and a plurality of rule executers; storing the first fact in an input queue of the schedule router in response to the receiving of the first fact in the inference engine; retrieving, by the schedule router, the first fact from the input queue; routing, by the schedule router, the first fact to a first schedule queue of a plurality of schedule queues based on a processing schedule for the first fact and a condition, wherein the condition is associated with the first schedule queue and the schedule router routes the first fact to the first schedule queue in response to a determination that the first fact satisfies the condition associated with the first schedule queue; retrieving, by the rule router, the first fact from the first schedule queue in accordance with the processing schedule; routing, by the rule router, the first fact to a queue associated with a first rule executer of the plurality of rule executers, wherein the routing is based on contents of the first fact; retrieving, by the first rule executer, the first fact from the queue associated with the first rule executer; applying, by the first rule executer, an action to the first fact to generate one or more second facts; routing, by the first rule executer, the one or more second facts to the input queue of the schedule router; and routing, by the first rule executer, the first fact to a device for persistent storage.