|
|
@@ -371,47 +371,39 @@ class EventPusher:
|
|
|
Returns:
|
|
|
是否成功
|
|
|
"""
|
|
|
- for attempt in range(self.retry_count):
|
|
|
- try:
|
|
|
- # 构建请求
|
|
|
- if self.use_https:
|
|
|
- base_url = f"https://{self.api_host}:{self.api_port}"
|
|
|
- else:
|
|
|
- base_url = f"http://{self.api_host}:{self.api_port}"
|
|
|
-
|
|
|
- url = f"{base_url}{self.event_url}"
|
|
|
-
|
|
|
- create_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(event.timestamp))
|
|
|
-
|
|
|
- data = {
|
|
|
- "createTime": create_time,
|
|
|
- "addr": event.description,
|
|
|
- "ext1": json.dumps([event.image_url]) if event.image_url else "[]",
|
|
|
- "ext2": json.dumps({
|
|
|
- "lx": "工地安全",
|
|
|
- "type": event.event_type.value,
|
|
|
- "trackId": event.track_id,
|
|
|
- "confidence": event.confidence,
|
|
|
- "location": event.location
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- response = requests.post(url, json=data, verify=False, timeout=10)
|
|
|
-
|
|
|
- if response.status_code == 200:
|
|
|
- result = response.json()
|
|
|
- if result.get('code') == 200:
|
|
|
- return True
|
|
|
- else:
|
|
|
- print(f"创建事件失败: {result.get('msg', '未知错误')}")
|
|
|
+ create_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(event.timestamp))
|
|
|
+
|
|
|
+ data = {
|
|
|
+ "createTime": create_time,
|
|
|
+ "addr": event.description,
|
|
|
+ "ext1": json.dumps([event.image_url]) if event.image_url else "[]",
|
|
|
+ "ext2": json.dumps({
|
|
|
+ "lx": "工地安全",
|
|
|
+ "type": event.event_type.value,
|
|
|
+ "trackId": event.track_id,
|
|
|
+ "confidence": event.confidence,
|
|
|
+ "location": event.location
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ url = f"{self.base_url}{self.event_url}"
|
|
|
+ response = self._post(url, data)
|
|
|
+
|
|
|
+ if response is None:
|
|
|
+ return False
|
|
|
+
|
|
|
+ try:
|
|
|
+ if response.status_code == 200:
|
|
|
+ result = response.json()
|
|
|
+ if result.get('code') == 200:
|
|
|
+ return True
|
|
|
else:
|
|
|
- print(f"创建事件失败: HTTP {response.status_code}")
|
|
|
-
|
|
|
- except Exception as e:
|
|
|
- print(f"创建事件异常 (尝试 {attempt + 1}/{self.retry_count}): {e}")
|
|
|
- if attempt < self.retry_count - 1:
|
|
|
- time.sleep(self.retry_delay)
|
|
|
-
|
|
|
+ print(f"创建事件失败: {result.get('msg', '未知错误')}")
|
|
|
+ else:
|
|
|
+ print(f"创建事件失败: HTTP {response.status_code}")
|
|
|
+ except Exception as e:
|
|
|
+ print(f"创建事件解析响应异常: {e}")
|
|
|
+
|
|
|
return False
|
|
|
|
|
|
def get_stats(self) -> Dict[str, int]:
|