인프런 커뮤니티 질문&답변
fal.ai 요청시 wait 보다는 status 체크가 더욱 좋을것 같아요
해결된 질문
작성
·
76
·
수정됨
1
fal.ai 요청시 wait 무작정 넉넉히 잡는건 서버 메시지큐 상태를 알수없고 내 TASK가 언제 처리될지 모르는 상태에서 감(?) 으로 때리는 방법이라 엣지 케이스가 너무 많은것 같아요
주기적으로 Status 호출해서 체크하는 방법이 좋아보입니다.
falai POST API 생성후 응답이 다음과 같이 오는데 status_url 을 사용하면 간단히 처리가 가능할것 같습니다.
{
"status": "COMPLETED",
"request_id": "728614ce-f8c3-498c-8174-e4beea63b48d",
"response_url": "https://queue.fal.run/fal-ai/kling-video/requests/728614ce-f8c3-498c-8174-e4beea63b48d",
"status_url": "https://queue.fal.run/fal-ai/kling-video/requests/728614ce-f8c3-498c-8174-e4beea63b48d/status",
"cancel_url": "https://queue.fal.run/fal-ai/kling-video/requests/728614ce-f8c3-498c-8174-e4beea63b48d/cancel",
"logs": null,
"metrics": {
"inference_time": 41.99311113357544
}
}status_url 을 다시 http request로 던지고

응답문에 switch 걸고 WAIT 상태에서 loop 돌려주면 깔끔할것 같아요

while 문처럼 내부에 sleep 있는 것 처럼 loop 돌리는게 호율적이여 보입니다.
코드 리뷰 정도의 의견이라고 생각해주세요!
강의 잘보고 있습니다. 감사합니다.
예시>

추가적으로 위에 상태조회 방법과 함께 MERGE 처리도 코드 필요없이 이렇게 구성하면 별도 code node 없이 아래처럼 가능할것 같아요! 참고 부탁드립니다.

추가1
Http auth 부분도 Header Auth 로 별도로 지정해주고 아래처럼 호출하는게 보안상 안전해 보입니다!


추가2
falai 외에도 Creatomate render post 요청 이후 응답에서 ID 조합으로 상태 체크 WAIT 를 구성하는것도 괜찮을 것 같아요!
API DOCS
https://creatomate.com/docs/api/reference/get-the-status-of-a-render
curl -X GET https://api.creatomate.com/v2/renders/RENDER_ID \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Response:
{
"id": "a862048b-d0dc-4029-a4ef-e172e8ded827",
"status": "succeeded",
"url": "https://cdn.creatomate.com/renders/a862048b-d0dc-4029-a4ef-e172e8ded827.mp4",
"snapshot_url": "https://cdn.creatomate.com/snapshots/a862048b-d0dc-4029-a4ef-e172e8ded827.jpg",
"output_format": "mp4",
"render_scale": 1,
"width": 1280,
"height": 720,
"frame_rate": 60,
"duration": 3,
"file_size": 10804
}



답변 2
0
안녕하세요 asdf9090님!
와 정말 감사합니다.
저도 강의 준비하면서 fal.ai쪽에 status 확인하는 걸로 처음에 만들려고 했었는데
제가 생각해낸거에서는 로직이 너무 복잡해지는거 같아서, 초보용 강의에 맞지 않다고 판단해서 제거했거든요
말씀해주신대로 switch쪽으로 빼버리니 정말 간단해 지는거 같습니다!
좋은 의견 너무 감사해요
그 이외에도 여러가지 의견주셔서 너무 감사드립니다.
심지어 이미지까지 캡처해서 보내주시다니! 이해하는데 큰 도움이 되었습니다.
혹시 image나 video쪽도 status 확인하는걸로 개선하셨을까요?
이쪽은 요청이 5개로 쪼개지다보니 status까지 확인하면 너무 노드 구조가 복잡해지더라고요.
혹시 변경하셨으면 어떻게 변경하셨는지 로직이 궁금합니다.
아무튼 친절하게 리뷰해주셔서 감사합니다 ㅎㅎ
안녕하세요 밤낮코딩님! 친절히 댓글 해주셔서 감사드립니다.
기분좋으시다니 저도 너무 기분이 좋네요 😊
이미지랑 동영상 생성은 아래처럼 돌렸습니다.
Loop Over Items 로 아이템 하나씩 처리했어요!
실은 어제 워크플로우 json 첨부하려다가 max length 에러로 어제 질문글에 못남겼었습니다.
검색해보니 밤낮코딩님 메일주소가 agmma5000@gmail.com 이거 메일주소 맞으시죠!? 여기로 json 송부하였습니다. (발송인 mihisasi@naver.com )
감사합니다 . ☺

0
안녕하세요, 인프런 AI 인턴입니다. asdf9090님.
현재 질문에서는 fal.ai 요청 시 비효율적인 대기(wait) 설정을 개선하는 방법에 대해 고민하고 계신 것 같습니다. 말씀하신 대로, 주기적으로 상태(Status)를 체크하여 응답 완료 여부를 판단하는 방식은 더 효율적일 수 있습니다.
개선 방법에 대한 제안
상태 주기적 확인:
fal.ai에서 제공하는 상태 체크 API를 이용해서 주기적으로 작업 상태를 확인하는 것이 중요합니다. 이를 통해 작업이 완료되었는지 혹은 여전히 큐에 대기 중인지 파악할 수 있습니다.
루프와 종료 조건:
- 제안하신 대로 무한루프를 방지하기 위해 시도 횟수를 제한하는 방식이 필요합니다. 예를 들어, 10번까지 상태를 체크하고, 여전히 대기 중이라면 종료하도록 조건을 추가하는 것이 좋습니다.
- 제안하신 대로 무한루프를 방지하기 위해 시도 횟수를 제한하는 방식이 필요합니다. 예를 들어, 10번까지 상태를 체크하고, 여전히 대기 중이라면 종료하도록 조건을 추가하는 것이 좋습니다.
에러 처리 및 타임아웃:
- 상태 확인 중 에러가 발생하는 경우에 대한 예외 처리를 추가하여 비정상적인 상황에서도 안정적인 프로그램 흐름을 유지할 수 있도록 해야 합니다.
- 상태 확인 중 에러가 발생하는 경우에 대한 예외 처리를 추가하여 비정상적인 상황에서도 안정적인 프로그램 흐름을 유지할 수 있도록 해야 합니다.
유사한 질문 참고 링크
- 비슷한 맥락에서의 해결법이나 추가적인 설정을 찾고 계신다면, 아래 링크에서 비슷한 고민을 한 다른 사용자들의 문제와 해결 방법을 확인하세요:
- 비디오 생성 요청 시 주의: 요청 후 Queue 처리 및 Wait 로직에 대한 고려사항이 논의되어 있습니다.
- 비디오 생성 요청 시 주의: 요청 후 Queue 처리 및 Wait 로직에 대한 고려사항이 논의되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





지금까지 받은 강의 질문중에 가장 기분 좋아지는 질문인거 같습니다. ㅎㅎ
정성스레 리뷰해주셔서 다시 한번 감사드려요