1. A method comprising: assigning, for each queue of a plurality of queues within a network device, a quota desirable to a user; determining, based on the desirable quota assigned to each of the queues, a weight for each of the queues, wherein the weight defines a number of the plurality of packets to be de-queued and processed by a packet processing module executed by the processor during each iteration through the queues; processing one or more packets from the plurality of queues with the packet processing module executed by the processor in a round robin manner in accordance with the respective weight assigned to each of the queues; computing, for each of the queues, a number of processor clock cycles utilized by the packet processing module during at least one iteration through the queues to dequeue and process the number of the packets in accordance with the weight associated with each of the queues; dynamically adjusting, based on the computation, one or more of the queue weights such that subsequent amounts of processing time actually required to process the number of packets defined by each of the queue weights more accurately reflects the desirable quota assigned to each of the queues; and outputting with the network device the number of packets in accordance with the adjusted weights.