Sure, but it is an indication that the logic isn't accurate, and it's a round-about way of doing what you're saying it should be doing (i.e., it is checking `... if that time falls between now and the start of the next cycle`), but that's not at all what the code is saying.

Any reason why we can't just do a range check?

1. Get the current polling time
2. Get the time of the collection cycle based on the configuration
3. Get the expected time of the next poll
4. If the next collection cycle falls between the current poll and the next expected one, do the collection

Which seems to be a bit easier to follow.

For the >24hr polling cycle, we can probably apply an internal maximum and put a warning in the logs if it is exceeded so it will still function.