딥러닝 및 머신러닝의 학습을 하기 위하여 REST를 활용한 인터페이스를 구축할 예정이다.
프로세스는 대략 아래와 같다.
flask -> flask_restx -> api -> 학습 // swagger를 통한 소통
하지만 딥러닝및 머신러닝의 학습시간이 길어지면 중간에 비동기 처리를 통하여
학습을 실행시키고, 사용자에게는 응답메세지를 주고 학습이 끝나면 또 응답을 줘야한다.
그렇지 않으면 몇일이 걸리는 학습모델을 돌리는동안 아무런 응답을 받지 못 할것이다.
그리고 여기서 한가지 더 고려해야할 부분은 학습을 도중에 중지 시킬수도 있어야한다.
비동기처리를 위해 어떤것을 해야 하는지 찾아보니
async 및 redirect를 활용하여 위의 요구기능을 처리 해 볼수 있을것 같다.
-------------약 2주후-----------
처음 구축해 봐서 그냥 알려준대로 툴을 선택 했는데 조금이라도 더 찾아볼껄 그랬다.
비동기화와 같은 요구사항은 왜 초안을 다 만들고 알려주는것인가..ㅠ
-------------약 2주후-----------
라고생각했는데 2주간의 삽질 끝에 flask와 restx로는 프로젝트에서 원하는 프로세스를 만들수 없다는것을
알게 되었다.
그래서 찾아본 결과 대안으로 ASGI( Asynchronous Server Gateway Interface) & fastapi라는 것을 알게되었고.
간단한 테스트를 해본결과 원하는 프로세스가 잘 실행된다!
차근차근 학습해서 더 멋진 서비스를 만들어보자!
'work > web' 카테고리의 다른 글
pydantic / dataclass [파이썬 / python] (0) | 2022.10.11 |
---|---|
flask, flask_restx, swagger (0) | 2022.07.22 |