adapter run ID that may not always be available, and is not guaranteed to be unique.
Use inter-thread channels for threads to notify other threads those other threads have work to do. Event adding thread notifies event processing thread that there are new events, and the event processing thread notifies the report page generation thread that a new run has finished. In addition, the reporting thread reports after a while whether there are any new runs or not, so that the page time stamp gets updated.
adapter run ID that may not always be available, and is not guaranteed to be unique.
Use inter-thread channels for threads to notify other threads those other threads have work to do. Event adding thread notifies event processing thread that there are new events, and the event processing thread notifies the report page generation thread that a new run has finished. In addition, the reporting thread reports after a while whether there are any new runs or not, so that the page time stamp gets updated.