doc(bklog-plan):Add TODO item:account for input script failure
[EVA-2020-02.git] / exec / bklog-plan.org
index 9908efb73470195e960287d081335628d65b8e8e..597f653a5f8cc95fd5e2e16f462a60b65629fd99 100644 (file)
@@ -53,6 +53,25 @@ in seconds between ~bufferTimestampOld~ and ~bufferTimestampNew~ may
 be calculated and an appropriate duration string generated from the
 ~timeDuration()~ function.
 
 be calculated and an appropriate duration string generated from the
 ~timeDuration()~ function.
 
+** TODO Update ~SECONDS~ variable during while read loop
+2020-07-14T00:58Z; bktei> The starting timestamps of each output file
+still drifts against system time. Although the ~while read~ loop does
+not lose data, the drift causes the output files to be named weirdly.
 
 
+A possible solution is to correct the ~SECONDS~ variable against the
+current system time. Because ~date~ calls are slow, this correction
+should not be made after every line. At a minimum, the correction
+should occur once per buffer round, possibly after the buffer round
+has completed. If more frequent corrections are required, then the
+number of lines being read in each buffer round should be tracked and
+a modulus comparison may be implemented within the ~while read~ loop
+so that a correction is made after some fraction of the expected lines
+to be read are read.
+** TODO Account for "early-exit" bug in input script
+2020-07-14T03:00Z; bktei> What happens if the script piping its stdout
+into ~bklog~ immediately exits without providing any stdout (ex: a
+python script with a missing module)? ~bklog~ should be able to detect
+the latest exit code and exit early. It should also be able to detect
+if the incoming pipe is closed.
 * bklog narrative
 
 * bklog narrative