Skip to content

Commit 326a188

Browse files
authored
Fix the parsing of execution task params (#725)
* Fix the parsing of execution task params * Enhanced checksums
1 parent 9ff36d4 commit 326a188

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

backend/app/task/service/scheduler_service.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,13 @@ async def execute(*, pk: int) -> None:
148148
task_scheduler = await task_scheduler_dao.get(db, pk)
149149
if not task_scheduler:
150150
raise errors.NotFoundError(msg='任务调度不存在')
151-
celery_app.send_task(
152-
name=task_scheduler.task,
153-
args=json.loads(task_scheduler.args),
154-
kwargs=json.loads(task_scheduler.kwargs),
155-
)
151+
try:
152+
args = json.loads(task_scheduler.args) if task_scheduler.args else None
153+
kwargs = json.loads(task_scheduler.kwargs) if task_scheduler.kwargs else None
154+
except (TypeError, json.JSONDecodeError):
155+
raise errors.RequestError(msg='执行失败,任务参数非法')
156+
else:
157+
celery_app.send_task(name=task_scheduler.task, args=args, kwargs=kwargs)
156158

157159
@staticmethod
158160
async def revoke(*, task_id: str) -> None:

0 commit comments

Comments
 (0)