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 priority score for each concurrent processing request based, at least in part, on a time value associated with each concurrent processing request and whether any one of the concurrent processing requests is currently being processed at the given time; and responsive to the determined priority score at the given time, executing a highest priority processing request for the at least one device.