minor fixes

This commit is contained in:
Dantenerosas 2023-09-25 23:22:10 +03:00 committed by nikili0n
parent 9720a68684
commit d8c915d22f
2 changed files with 16 additions and 9 deletions

View File

@ -115,7 +115,7 @@ async def get_url_for_download_video(request: Request, data: SubmitIn = Depends(
logging.info(f" [x] Sent '{link}'") logging.info(f" [x] Sent '{link}'")
# TODO: возможно возвращать идентификаторы задач aka куски ссылок # TODO: возможно возвращать идентификаторы задач aka куски ссылок
return JSONResponse(status_code=200, content={"result": f"Задача поставлена в работу, ссылка: {link['link']}"}) return JSONResponse(status_code=201, content={"result": f"Задача поставлена в работу, ссылка: {link['link']}"})
# TODO: если уже была попытка сделать задачу и в редисе она с ошибкой, то переташить её в очередь на # TODO: если уже была попытка сделать задачу и в редисе она с ошибкой, то переташить её в очередь на
# выполнение с очисткой состояние об ошибке # выполнение с очисткой состояние об ошибке
@ -150,15 +150,15 @@ async def download_video(request: Request, link: str):
error_tasks = [ error_tasks = [
tasks_done.pop(tasks_done.index(error_task)) for error_task in tasks_done if error_task["status"] == "error" tasks_done.pop(tasks_done.index(error_task)) for error_task in tasks_done if error_task["status"] == "error"
] ] if tasks_done else None
if len(tasks) > 0: if tasks and len(tasks) > 0:
task = tasks[0] task = tasks[0]
return JSONResponse( return JSONResponse(
status_code=202, status_code=202,
content={"result": f"Задача {task['link']} в данный момент в работе, выполняется"} content={"result": f"Задача {task['link']} в данный момент в работе, выполняется"}
) )
# TODO: если уже была попытка сделать задачу и в редисе она с ошибкой, то переташить её в очередь на выполнение с очисткой состояние об ошибке # TODO: если уже была попытка сделать задачу и в редисе она с ошибкой, то переташить её в очередь на выполнение с очисткой состояние об ошибке
if len(error_tasks) > 0: if error_tasks and len(error_tasks) > 0:
error_task = error_tasks[0] error_task = error_tasks[0]
await red.del_task_from_task_done_queue(error_task) await red.del_task_from_task_done_queue(error_task)
return JSONResponse(status_code=510, return JSONResponse(status_code=510,
@ -172,5 +172,5 @@ async def download_video(request: Request, link: str):
except Exception as ex: except Exception as ex:
print(ex) print(ex)
if __name__ == '__main__':
uvicorn.run("src.web.main:app", host="0.0.0.0", log_level="info") uvicorn.run("src.web.main:app", host="0.0.0.0", log_level="info")

View File

@ -124,12 +124,18 @@
xhr.onload = () => { xhr.onload = () => {
document.forms.download.querySelector('[type="submit"]').disabled = false; document.forms.download.querySelector('[type="submit"]').disabled = false;
document.forms.download.querySelector('.submit-spinner').classList.add('submit-spinner_hide'); document.forms.download.querySelector('.submit-spinner').classList.add('submit-spinner_hide');
if (xhr.status !== 200) { console.log(xhr.status);
if (xhr.status !== 200 && xhr.status !== 201) {
return; return;
} };
const response = xhr.response; const response = xhr.response;
result.innerHTML = xhr.response.result; result.innerHTML = xhr.response.result;
result.href = xhr.response.result; result.href = xhr.response.result;
console.log(response);
if (xhr.status === 201) {
sendReq()
}
} }
xhr.onerror = () => { xhr.onerror = () => {
document.forms.download.querySelector('[type="submit"]').disabled = false; document.forms.download.querySelector('[type="submit"]').disabled = false;
@ -138,7 +144,8 @@
document.forms.download.querySelector('[type="submit"]').disabled = true; document.forms.download.querySelector('[type="submit"]').disabled = true;
document.forms.download.querySelector('.submit-spinner').classList.remove('submit-spinner_hide'); document.forms.download.querySelector('.submit-spinner').classList.remove('submit-spinner_hide');
xhr.send(new FormData(document.forms.download)); xhr.send(new FormData(document.forms.download));
sendReq()
} }
// при отправке формы // при отправке формы