1. A computer-implemented method for scheduling resources, the method comprising: receiving, in a processor, a plurality of concurrent processing requests, wherein each concurrent processing request is associated with at least one device configured to perform one or more different tasks at a given time, wherein the at least one device has a predefined processing capacity, wherein if one or more of the plurality of concurrent processing requests exceeds the predefined capacity of the at least one device at the given time, the processor determines a first priority score comprising a maximum priority score for each concurrent processing request based on a multiple of an amount of time required to complete each concurrent processing request and a time relative to a scheduled revisit time by ensuring each concurrent processing request is completed before it is scheduled to repeat, determines a second priority score comprising a minimum priority score for each concurrent processing request based on a respective revisit time of each concurrent processing request and whether any one of the concurrent processing requests is currently being processed at the given time, wherein the respective revisit time is a point in time at which a request is scheduled to be revisited, and determines a final priority score for each concurrent processing request based on the first priority score and the second priority score; and responsive to the determined final priority score at the given time, executing a highest priority processing request of the concurrent processing requests for the at least one device.