메인 콘텐츠로 건너뛰기

경로

서버는 getpost 메소드의 일련을 정의하며, 이는 server.py에서 @routes를 검색하여 찾을 수 있습니다. 웹 클라이언트에서 워크플로우를 제출하면 /prompt로 게시되며, 이는 프롬프트를 검증하고 실행 대기열에 추가한 후 prompt_id와 번호(대기열 내 위치) 또는 검증 실패 시 errornode_errors를 반환합니다. 프롬프트 대기열은 execution.py에 정의되어 있으며, 여기에는 PromptExecutor 클래스도 포함됩니다.

기본 제공 경로

server.py는 다음과 같은 경로를 정의합니다:

핵심 API 경로

WebSocket 통신

/ws 엔드포인트는 클라이언트와 서버 간의 양방향 실시간 통신을 제공합니다. 이는 다음을 위해 사용됩니다:
  • 실행 진행 상황 업데이트 수신
  • 노드 실행 상태 실시간 조회
  • 오류 메시지 및 디버깅 정보 수신
  • 대기열 상태 변경 시 라이브 업데이트
WebSocket 연결은 다음과 같은 유형의 JSON 메시지를 전송합니다:
  • status - 전체 시스템 상태 업데이트
  • execution_start - 프롬프트 실행 시작 시
  • execution_cached - 캐시된 결과 사용 시
  • executing - 노드 실행 중 업데이트
  • progress - 장시간 실행 작업의 진행률 업데이트
  • executed - 노드 실행 완료 시

맞춤 경로

실행 중 클라이언트에서 서버로 메시지를 보내고 싶다면 서버에 맞춤 경로를 추가해야 합니다. 복잡한 경우 aiohttp 프레임워크 문서를 살펴봐야 하지만, 대부분의 경우 다음과 같이 처리할 수 있습니다:
무엇을 하는지 잘 알고 있지 않다면, 클래스 내부에 my_function을 정의하지 마세요.
@routes.post 데코레이터는 많은 작업을 수행합니다! 대신 위와 같이 함수를 정의한 후 클래스 메서드를 호출하세요.
변경하지 않는다면 @routes.get도 정의할 수 있습니다.
클라이언트는 다음과 같은 코드와 같은 FormData 객체를 보내면 새로운 경로를 사용할 수 있으며, 이는 위 코드에서 the_datamessagenode_id 키를 포함하게 됩니다: