Suppose you make a scan now, then check for gaps. Do you see the gaps in today's and tomorrow's programs? Are the first 72 hours complete? Are they complete for the first 7 days?
I coded this in such a way, that 3 days and 7 days are two thresholds. If we waited x number of seconds, and we got at least 7 days of continuous data, we quit on the channel. Otherwise we wait for longer. If we waited y number of seconds (y > x) and we get at least 3 days of continuous data, we quit. If neither threshold is met, we wait longer. So I may need to adjust x, or y, or both.