From d31c61027885413db4a71b69031630585b6469f4 Mon Sep 17 00:00:00 2001 From: Peter Silva Date: Thu, 6 Jun 2024 16:12:17 -0400 Subject: [PATCH] only run after_post after we actually post --- sarracenia/flow/__init__.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/sarracenia/flow/__init__.py b/sarracenia/flow/__init__.py index d75e9325b..438073758 100644 --- a/sarracenia/flow/__init__.py +++ b/sarracenia/flow/__init__.py @@ -1211,23 +1211,26 @@ def work(self) -> None: def post(self,now) -> None: - if len(self.plugins["post"]) > 0: + if hasattr(self.o,'post_broker') and self.o.post_broker: - # work-around for python3.5 not being able to copy re.match issue: - # https://github.com/MetPX/sarracenia/issues/857 - if sys.version_info.major == 3 and sys.version_info.minor <= 6: - for m in self.worklist.ok: - if '_matches' in m: - del m['_matches'] + if len(self.plugins["post"]) > 0: - for p in self.plugins["post"]: - try: - p(self.worklist) - except Exception as ex: - logger.error( f'flowCallback plugin {p} crashed: {ex}' ) - logger.debug( "details:", exc_info=True ) + # work-around for python3.5 not being able to copy re.match issue: + # https://github.com/MetPX/sarracenia/issues/857 + if sys.version_info.major == 3 and sys.version_info.minor <= 6: + for m in self.worklist.ok: + if '_matches' in m: + del m['_matches'] + + for p in self.plugins["post"]: + try: + p(self.worklist) + except Exception as ex: + logger.error( f'flowCallback plugin {p} crashed: {ex}' ) + logger.debug( "details:", exc_info=True ) + + self._runCallbacksWorklist('after_post') - self._runCallbacksWorklist('after_post') self._runCallbacksWorklist('report') self._runCallbackMetrics()