@@ -112,6 +112,7 @@ class WorkerRuntime:
|
||||
threading.Thread(target=self._archive_loop, name="archive-loop", daemon=True),
|
||||
threading.Thread(target=self._wshoto_poll_loop, name="wshoto-poll", daemon=True),
|
||||
threading.Thread(target=self._deal_followup_loop, name="deal-followup", daemon=True),
|
||||
threading.Thread(target=self._event_exception_loop, name="event-exception", daemon=True),
|
||||
threading.Thread(target=self._pdf_loop, name="pdf-loop", daemon=True),
|
||||
]
|
||||
for t in self._threads:
|
||||
@@ -290,6 +291,22 @@ class WorkerRuntime:
|
||||
logger.exception("协商再问轮询失败")
|
||||
self._stop.wait(60.0)
|
||||
|
||||
def _event_exception_loop(self) -> None:
|
||||
"""
|
||||
HTTP 槽巡检事件异常。独立线程,不占回调、不与 soffice 串队。
|
||||
"""
|
||||
from agent.jobs.event_exception_poll import poll_event_exceptions
|
||||
|
||||
while not self._stop.is_set():
|
||||
try:
|
||||
self.http_jobs.run(
|
||||
lambda: poll_event_exceptions(settings=self.settings),
|
||||
label="event-exception",
|
||||
)
|
||||
except Exception:
|
||||
logger.exception("事件异常巡检失败")
|
||||
self._stop.wait(60.0)
|
||||
|
||||
def _pdf_loop(self) -> None:
|
||||
"""仅 LibreOffice 单槽消费 PDF Stream。"""
|
||||
if not self.redis:
|
||||
|
||||
Reference in New Issue
Block a user