ciyidogan commited on
Commit
926928e
·
verified ·
1 Parent(s): fb5b6b9

Create spark_controller.py

Browse files
Files changed (1) hide show
  1. spark_controller.py +61 -0
spark_controller.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter, Request, HTTPException
2
+ import requests
3
+ from service_config import ServiceConfig
4
+
5
+ router = APIRouter()
6
+ service_config = ServiceConfig()
7
+ service_config.load()
8
+
9
+ @router.post("/startup")
10
+ async def spark_startup(request: Request):
11
+ data = await request.json()
12
+ spark_url = service_config.spark_endpoint + "/startup"
13
+ try:
14
+ response = requests.post(spark_url, json=data, timeout=30)
15
+ response.raise_for_status()
16
+ return response.json()
17
+ except Exception as e:
18
+ raise HTTPException(status_code=500, detail=f"Spark startup error: {e}")
19
+
20
+ @router.get("/project_list")
21
+ def spark_project_list():
22
+ spark_url = service_config.spark_endpoint + "/project/list"
23
+ try:
24
+ response = requests.get(spark_url, timeout=30)
25
+ response.raise_for_status()
26
+ return response.json()
27
+ except Exception as e:
28
+ raise HTTPException(status_code=500, detail=f"Spark project list error: {e}")
29
+
30
+ @router.post("/enable")
31
+ async def spark_enable_project(request: Request):
32
+ data = await request.json()
33
+ spark_url = service_config.spark_endpoint + "/project/enable"
34
+ try:
35
+ response = requests.post(spark_url, json=data, timeout=30)
36
+ response.raise_for_status()
37
+ return response.json()
38
+ except Exception as e:
39
+ raise HTTPException(status_code=500, detail=f"Spark enable error: {e}")
40
+
41
+ @router.post("/disable")
42
+ async def spark_disable_project(request: Request):
43
+ data = await request.json()
44
+ spark_url = service_config.spark_endpoint + "/project/disable"
45
+ try:
46
+ response = requests.post(spark_url, json=data, timeout=30)
47
+ response.raise_for_status()
48
+ return response.json()
49
+ except Exception as e:
50
+ raise HTTPException(status_code=500, detail=f"Spark disable error: {e}")
51
+
52
+ @router.delete("/delete")
53
+ async def spark_delete_project(request: Request):
54
+ data = await request.json()
55
+ spark_url = service_config.spark_endpoint + "/project"
56
+ try:
57
+ response = requests.delete(spark_url, json=data, timeout=30)
58
+ response.raise_for_status()
59
+ return response.json()
60
+ except Exception as e:
61
+ raise HTTPException(status_code=500, detail=f"Spark delete error: {e}")