오퍼레이션
오퍼레이션은 Fóir를 통해 호출하는 여러분의 로직입니다. HTTP 엔드포인트를 호스팅하고 URL을 등록하면, Fóir가 서명된 페이로드를 POST로 보내고 실패 시 재시도하며 결과를 기록합니다.
트리거되는 방식
오퍼레이션은 콘솔의 버튼, 레코드 에디터의 필드, 라이프사이클 훅, 스케줄 또는 공개 API 호출로 실행됩니다. 각 오퍼레이션에는 입력 및 출력 스키마에서 생성된 고유한 타입 지정 GraphQL 뮤테이션이 생깁니다. 예를 들어 ai-summarize 키의 오퍼레이션은 executeAiSummarize가 됩니다. 사전 조건 및 사용량 할당량이 누가 실행할 수 있는지와 얼마나 자주 실행할 수 있는지를 결정합니다.
동기 또는 백그라운드
동기 모드에서는 호출자가 기다리며 응답 본문이 결과가 됩니다. 타임아웃 기본값은 30초이고 최대 5분까지 설정할 수 있습니다. 비동기 모드에서는 엔드포인트가 202로 응답하고, 이후 콜백 토큰으로 진행 상황, 완료, 실패, 취소를 보고합니다. 콜백 기한은 기본 24시간이며, 그 안에 호출이 없으면 실행은 타임아웃으로 표시됩니다.
재시도와 데드 레터 큐
실패한 호출은 기본적으로 세 번 재시도하며, 서킷 브레이커는 실패가 다섯 번 쌓이면 열려 60초 동안 호출을 거부합니다. 재시도를 모두 소진한 대기열 실행은 데드 레터 큐로 가며, 거기서 확인하고 재시도하거나 폐기할 수 있습니다. 호출에 멱등성 키를 지정하면 재시도가 첫 번째 시도의 실행을 이어받아 작업이 두 번 수행되지 않습니다.
실행 기록
모든 실행은 상태, 소요 시간, 결과 또는 오류, 트리거, 재시도 횟수, 진행 상황과 함께 기록됩니다.
서드파티 API 호출
패스스루 쓰기에는 여러분의 서비스가 뒤에 없습니다. Fóir가 요청 템플릿으로 서드파티 API를 직접 호출하며, 자격 증명은 시크릿에서 가져옵니다. 리졸버 오퍼레이션은 서드파티 API를 GraphQL 쿼리 또는 모델의 필드로 노출하며, 캐싱과 배칭을 지원합니다.