jeongsoo commited on
Commit
d3f3344
Β·
1 Parent(s): 99da95e
Files changed (1) hide show
  1. app/app_device_routes.py +34 -34
app/app_device_routes.py CHANGED
@@ -11,52 +11,52 @@ logger = logging.getLogger(__name__)
11
 
12
  def register_device_routes(app, login_required, DEVICE_SERVER_URL):
13
  """Flask μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μž₯치 관리 κ΄€λ ¨ 라우트 등둝"""
14
-
15
  @app.route('/api/device/status', methods=['GET'])
16
  @login_required
17
  def device_status():
18
- """μž₯치 관리 μ„œλ²„ μƒνƒœ 확인 API"""
19
- logger.info("μž₯치 관리 μ„œλ²„ μƒνƒœ 확인 μš”μ²­")
20
-
21
  try:
22
- # μž₯치 관리 μ„œλ²„ μƒνƒœ 확인
23
- response = requests.get(f"{DEVICE_SERVER_URL}/api/status", timeout=5)
 
24
 
25
- if response.status_code == 200:
26
- data = response.json()
27
- logger.info(f"μž₯치 관리 μ„œλ²„ μƒνƒœ: {data.get('status', 'unknown')}")
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  return jsonify({
29
- "success": True,
30
- "server_status": data.get("status", "unknown")
31
- })
32
- else:
33
- logger.warning(f"μž₯치 관리 μ„œλ²„ 응닡 μ½”λ“œ: {response.status_code}")
34
  return jsonify({
35
  "success": False,
36
- "error": f"μž₯치 관리 μ„œλ²„κ°€ 비정상 응닡 μ½”λ“œλ₯Ό λ°˜ν™˜ν–ˆμŠ΅λ‹ˆλ‹€: {response.status_code}"
37
- }), 502
 
 
 
 
 
 
38
 
39
- except requests.exceptions.Timeout:
40
- logger.error("μž₯치 관리 μ„œλ²„ μ—°κ²° μ‹œκ°„ 초과")
41
- return jsonify({
42
- "success": False,
43
- "error": "μž₯치 관리 μ„œλ²„ μ—°κ²° μ‹œκ°„μ΄ μ΄ˆκ³Όλ˜μ—ˆμŠ΅λ‹ˆλ‹€."
44
- }), 504
45
-
46
- except requests.exceptions.ConnectionError:
47
- logger.error("μž₯치 관리 μ„œλ²„ μ—°κ²° μ‹€νŒ¨")
48
- return jsonify({
49
- "success": False,
50
- "error": "μž₯치 관리 μ„œλ²„μ— μ—°κ²°ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ„œλ²„κ°€ μ‹€ν–‰ 쀑인지 ν™•μΈν•΄μ£Όμ„Έμš”."
51
- }), 503
52
-
53
  except Exception as e:
54
- logger.error(f"μž₯치 관리 μ„œλ²„ μƒνƒœ 확인 쀑 였λ₯˜ λ°œμƒ: {e}")
55
  return jsonify({
56
  "success": False,
57
- "error": f"μž₯치 관리 μ„œλ²„ μƒνƒœ 확인 쀑 였λ₯˜ λ°œμƒ: {str(e)}"
58
- }), 500
59
-
60
 
61
  @app.route('/api/device/list', methods=['GET'])
62
  @login_required
 
11
 
12
  def register_device_routes(app, login_required, DEVICE_SERVER_URL):
13
  """Flask μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μž₯치 관리 κ΄€λ ¨ 라우트 등둝"""
 
14
  @app.route('/api/device/status', methods=['GET'])
15
  @login_required
16
  def device_status():
 
 
 
17
  try:
18
+ import requests
19
+ import json
20
+ from flask import jsonify
21
 
22
+ # μ—°κ²° νƒ€μž„μ•„μ›ƒ μ„€μ •
23
+ timeout = 5 # 5초둜 νƒ€μž„μ•„μ›ƒ μ„€μ •
24
+
25
+ try:
26
+ # μž₯치 μ„œλ²„ μƒνƒœ 확인
27
+ response = requests.get(f"{device_server_url}/status", timeout=timeout)
28
+
29
+ if response.status_code == 200:
30
+ return jsonify({"success": True, "status": "connected", "data": response.json()})
31
+ else:
32
+ return jsonify({
33
+ "success": False,
34
+ "error": f"μž₯치 μ„œλ²„ 응닡 였λ₯˜: {response.status_code}"
35
+ }), 502 # Bad Gateway
36
+
37
+ except requests.exceptions.Timeout:
38
  return jsonify({
39
+ "success": False,
40
+ "error": "μž₯치 μ„œλ²„ μ—°κ²° νƒ€μž„μ•„μ›ƒ. μ„œλ²„ 응닡이 λ„ˆλ¬΄ λŠλ¦½λ‹ˆλ‹€."
41
+ }), 504 # Gateway Timeout
42
+
43
+ except requests.exceptions.ConnectionError:
44
  return jsonify({
45
  "success": False,
46
+ "error": "μž₯치 관리 μ„œλ²„μ— μ—°κ²°ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ„œλ²„κ°€ μ‹€ν–‰ 쀑인지 ν™•μΈν•΄μ£Όμ„Έμš”."
47
+ }), 502 # Bad Gateway
48
+
49
+ except Exception as e:
50
+ return jsonify({
51
+ "success": False,
52
+ "error": f"μž₯치 μ„œλ²„ μ—°κ²° 쀑 였λ₯˜ λ°œμƒ: {str(e)}"
53
+ }), 500 # Internal Server Error
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  except Exception as e:
 
56
  return jsonify({
57
  "success": False,
58
+ "error": f"λ‚΄λΆ€ μ„œλ²„ 였λ₯˜: {str(e)}"
59
+ }), 500 # Internal Server Error
 
60
 
61
  @app.route('/api/device/list', methods=['GET'])
62
  @login_required