Commit fa005a26 by baiquan

add upload_video

parent 2f91b362
......@@ -23,13 +23,17 @@ class SyncShopInfoRequest(BaseModel):
class CreateTemplateRequest(BaseModel):
cookies: dict
template_params: dict
proxies: dict = None
proxies: dict
class DoudianLoginRequest(BaseModel):
account: str
password: str
headers: dict
proxies: dict = None
proxies: dict
class DoudianUploadVideoRequest(BaseModel):
task: dict
@app.post(
......@@ -135,6 +139,26 @@ def doudian_login(req: DoudianLoginRequest):
'error_type': 'TimeoutError'
}
@sync_router.post(
"/upload_video",
status_code=status.HTTP_200_OK,
summary="抖店上传视频",
)
def doudian_upload_video(req: DoudianUploadVideoRequest):
try:
task = celery_app.send_task('doudian_upload_video', kwargs=req.dict())
result = task.get(timeout=60)
logger.info(f"任务结果: {result}")
return result
except Exception as e:
logger.error(f"任务执行失败: {str(e)}")
return {
'code': 504,
'msg': '请求超时',
'data': None,
'error_type': 'TimeoutError'
}
# 注册路由
app.include_router(sync_router)
......
from celery import shared_task
from upload_video import upload_video
from login import login
from errors import *
from hub_ import *
......@@ -123,4 +124,32 @@ def execute_doudian_login(account: str, password: str, headers: dict, proxies: d
'msg': f'登录异常:{e}',
'data': None,
'error_type': 'InternalError'
}
@shared_task(name='doudian_upload_video')
def execute_doudian_upload_video(task: dict):
"""上传视频"""
try:
result = upload_video(task)
return {
'code': 200,
'msg': 'success',
'data': result,
'error_type': ''
}
except AppError as e:
logger.error(f'上传视频异常:{e}')
return {
'code': e.code,
'msg': e.msg,
'data': e.data,
'error_type': type(e).__name__
}
except Exception as e:
logger.error(f'上传视频异常:{e}')
return {
'code': 500,
'msg': f'上传视频异常:{e}',
'data': None,
'error_type': 'InternalError'
}
\ No newline at end of file
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment