Class-C downlink scheduling

Any reason why the downlink schedule interval needs to be there? I saw it’s 1 second by default
Also, does this scheduler do some round-robin on the queued items across multiple devices? I think not; in which case the application needs to keep it’s own queue if retries need to be done and some device lost connectivity. (probably better to attempt another device first)

It is how often the database get queried for Class-C downlinks. E.g.

for {
    // query class c downlinks
    // sleep(schedule interval)