Skip to content

Commit 97918b6

Browse files
author
zhanglongbin
committed
1.Add template deletion function​
2.Celery node deletion (admin only, offline status)
1 parent 7efbc93 commit 97918b6

2 files changed

Lines changed: 27 additions & 2 deletions

File tree

data_server/algo_templates/mapper/algo_template_mapper.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ def delete_template_by_id(db: Session, template_id: int, user_id: str) -> bool:
104104

105105
template = db.query(AlgoTemplate).filter(
106106
AlgoTemplate.id == template_id,
107-
AlgoTemplate.user_id == user_id
107+
AlgoTemplate.user_id == user_id,
108+
AlgoTemplate.buildin == False
108109
).first()
109110

110111
if not template:

data_server/api/endpoints/celery_server.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from loguru import logger
77
from data_server.database.session import get_sync_session
88
from data_server.schemas.responses import response_success, response_fail
9-
from data_celery.redis_tools.tools import get_celery_server_list
9+
from data_celery.redis_tools.tools import get_celery_server_list, del_celery_server_list
1010
from data_server.database.session import get_celery_worker_redis_db,get_celery_info_details_key
1111
from data_celery.utils import get_timestamp
1212

@@ -56,3 +56,27 @@ async def get_celery_server_list_api(isadmin: Annotated[bool | None, Header(alia
5656
return response_fail(msg="获取Celery服务器列表失败")
5757

5858

59+
@router.delete("/delete_celery_worker/{worker_name}", response_model=dict)
60+
async def delete_celery_worker_api(worker_name: str, isadmin: Annotated[bool | None, Header(alias="isadmin")] = None):
61+
try:
62+
if isadmin is None or isadmin == False:
63+
return response_fail(msg="Only the admin can delete the Worker")
64+
65+
worker_name = worker_name.strip()
66+
67+
server_list = get_celery_server_list()
68+
if worker_name not in server_list:
69+
return response_fail(msg=f"Worker '{worker_name}' it_doesn_t_exist")
70+
71+
del_celery_server_list(worker_name)
72+
73+
celery_redis = get_celery_worker_redis_db()
74+
celery_info_details_key = get_celery_info_details_key(worker_name)
75+
celery_redis.delete(celery_info_details_key)
76+
77+
logger.info(f"the_administrator_manually_deletes_the_worker: {worker_name}")
78+
return response_success(msg=f"successfully_deleted_worker: {worker_name}")
79+
except Exception as e:
80+
logger.error(f"delete_celery_worker error: {e}")
81+
return response_fail(msg=f"failed_to_delete_the_worker: {str(e)}")
82+

0 commit comments

Comments
 (0)