Skip to content
Snippets Groups Projects

update interval no longer shrinks with recursion

All threads resolved!
2 files
+ 48
4
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 27
3
@@ -426,9 +426,10 @@ class Controller(object):
# check for fillable gap at start
if output_gap[0] == starttime:
# found fillable gap at start, recurse to previous interval
interval = endtime - starttime
recurse_starttime = starttime - interval
recurse_endtime = starttime - 1
recurse_starttime, recurse_endtime = get_previous_interval(
start=starttime,
end=endtime,
)
self.run_as_update(
algorithm=algorithm,
observatory=observatory,
@@ -636,6 +637,29 @@ def get_output_factory(args):
return output_factory
def get_previous_interval(
start: UTCDateTime,
end: UTCDateTime,
) -> Tuple[UTCDateTime, UTCDateTime]:
"""Get previous interval for given interval.
Parameters
----------
start
start of interval
end
end of interval
Returns
-------
Previous interval of approximately the same size.
Interval is rounded to nearest second, and ends one microsecond earlier.
"""
# round to nearest second to recover removed microsecond from repeated calls
interval_size = round(end - start)
return (start - interval_size, start - 1e-6)
def get_realtime_interval(interval_seconds: int) -> Tuple[UTCDateTime, UTCDateTime]:
# calculate endtime/starttime
now = UTCDateTime()
Loading