Мой поток событий обычно содержит событие открытия, за которым следует событие закрытия. Назовем их O
и C
соответственно. Однако есть две особенности:
- За
O
может следовать один или несколькоO
до прибытияC
C
может полностью отсутствовать (см. ниже)
Предполагается, что C
должен прибыть не позднее, чем в течение времени T
после некоторого O
. В противном случае C
считается отсутствующим. Когда C
в конце концов прибудет, все открытые O
, прибывшие до T
из этого C
, будут считаться потерянными и не представляют интереса.
Я хочу, чтобы esper запускал каждую пару O
, за которой следует C
, где выбирается самый ранний O
не дальше, чем T
из C
. Любые O
s между, а также перед выбранным O
пропускаются.
Например,
O1 O2 O3 ... C
следует выбрать (O1,C)
, если datediff(O1, C) < T
следует выбрать (O2,C)
, если указанное выше неверно, и datediff(O2, C) < T
и т.п.
Я потерял самообладание в подходе к этой проблеме. Похоже, мой разум не совместим с эспером. Ваша помощь очень нужна.