이 섹션은 Scheduling API Workflows의 사례와 예약방법과 취소방법에 대해 배웁니다. Scheduling API 워크플로는 앱에서 내부적으로 트리거 되거나 예약될 수 있습니다.
*Workflow API는 외부 애플리케이션 및 시스템에 의해 노출되고 트리거될 수 있는 워크플로를 구축하는 데 유용하지만 *API Workflows는 애플리케이션에서 워크플로를 예약하는 데에도 사용할 수 있습니다.
*The Workflow API: 외부 애플리케이션에서 트리거할 워크플로워를 설정할 수 있는 Bubble에 내장되어 있는 빌트인 API입니다.
*API Workflows: 백엔드(서버측) 워크플로우 중 하나로, 외부 애플리케이션에서 트리거할 수 있도록 노출된 워크플로우입니다.
(1) 예약된 API 워크플로 사용 사례
페이지에서 워크플로를 실행하는 것보다 API 워크플로를 예약하는 것이 더 나은 대안인 사용 사례가 많이 있습니다.
- 향후 작업을 예약 해야 하는 경우
- 사용자가 가입한 후 X시간 후에 이메일 보내기 일정, X일 전에 미리 알림 보내기 - 평가판이 시작된 후 1개월 후에 종료일 경우
- 반복 이벤트일 경우
- 예약된 주간 뉴스레터 발송통계 또는 집계 계산 및 저장, 중복 데이터를 삭제하여 데이터베이스 정리
- 복잡한 워크플로 수행
- 복잡한 검색 및 필터링과 관련된 작업완료하는 데 시간이 걸릴 수 있는 긴 작업 목록이 포함된 워크플로
- 반복된 loop 워크플로우
- 데이터 레코드 목록을 하나씩 변경완료하기 위해 이전 주기에 의존하는 작업 실행
- 계단식 cascading 워크플로
- 설정, 삭제, 업데이트해야 하는 데이터가 다른 데이터에 연결된 데이터베이스의 삭제
(2) API 워크플로를 예약하는 방법
우선 백엔드 워크플로우에서 트리거할 API 워크플로를 구축한 후, 일반 워크플로우 화면에서 원하는 이벤트 아래에서 Schedule API Workflow(API 워크플로 일정 잡기) Action을 사용하여 현재 날짜-시간 또는 미래에 실행되도록 예약합니다.
- API 워크플로를 예약하면 실행할 날짜와 시간을 설정하고 API 워크플로를 만들 때 설정한 매개변수를 지정하라는 메시지가 표시됩니다.
(3) 데이터 List에서 API 워크플로 예약
API 워크플로를 데이터 목록에 대해 예약할 수도 있습니다. 이렇게 하면 목록의 항목당 하나의 워크플로를 예약할 수 있습니다. *워크플로우에서 Schedule API workflow on a list라는 Action 사용
- 예를 들어 20명의 사용자에 대해 워크플로를 실행하려는 경우 데이터목록 작업에서 API 워크플로 예약을 사용하여 20개의 개별 API 워크플로를 예약할 수 있습니다.
- 그런 다음 한 번에 한 사용자에 대해 작업을 수행하도록 해당 워크플로를 설정할 수 있습니다.
1. 기술적으로 루프가 아님
- 목록의 각 항목에 대해 지정된 워크플로를 개별적으로 실행하는 데 사용할 수 있지만 기술적으로는 루프가 아닙니다.
- 목록에 대해 API 워크플로를 예약하면 항목당 하나의 워크플로가 예약되고 하나의 작업이 완료될 때까지 기다리지 않고 다음 작업으로 이동합니다.
2. 재귀 워크플로우(Recursive Workflows)와 다른점
- 목록의 항목을 순차적으로 반복하는 API 워크플로를 만들려는 경우 목록에 대해 API 워크플로 예약 대신 재귀 워크플로를 사용할 수 있습니다.
- 성능상의 이유로 Bubble은 워크플로의 각각의 실행을 서로 다른 시간에 배치할 수 있습니다.
3. 예약시간 초과 주의
- 목록이 너무 길면 API 워크플로 목록의 예약 시간이 초과될 수 있습니다.
- 100개 항목보다 긴 목록의 경우 재귀 API 워크플로(Recursive Workflows)를 대신 사용하는 것이 좋습니다.
- 한 번에 모두 예약되지 않고 순차적으로 예약되므로 시간 초과를 방지할 수 있습니다.
4. List 예약 설정
- 목록에 대해서 API 워크플로우를 예약하려면 데이터 유형을 특정한 매개변수로 엔드포인트를 정의해야 합니다.
- 워크플로 목록을 예약할 데이터 유형을 특정해야 합니다. 위의 예시에서는 user(사용자) 데이터 유형으로 매개변수를 설정했습니다.
- 그런 다음 Schedule API workflow on a list를 선택하여 API 워크플로를 예약할 때 항목 유형, 실행할 목록을 선택하고 매개 변수에 대해 "이 항목 (this thing)"을 선택할 수 있습니다.
- 데이터 유형을 매개변수를 설정하면 user사용자 목록 검색 결과에서 찾은 모든 사용자에 대해 한 번씩 워크플로를 실행할 수 있습니다.
- 그런 다음 API 워크플로우는 목록의 각 항목에 대해 이 항목의 절차에 따라 잘 실행됩니다.
(4) 예약된 워크플로 취소
Bubble 편집기는 예약된 개별 워크플로 또는 모든 예약된 워크플로를 보고, 일시 중지하고, 취소할 수 있는 예약된 API 워크플로 목록을 유지합니다.
- Bubble은 API 워크플로를 예약할 때마다 해당 특정 인스턴스에 대한 고유 ID를 생성합니다.
- 일정 API 워크플로는 동일한 워크플로의 이후 단계에서 참조할 수 있도록 해당 ID를 반환합니다.
- API 워크플로를 예약하면 다음 단계에서 사용할 수 있는 고유 ID가 반환됩니다. 이 예시에서는 현재 사용자의 workflow ID를 저장합니다.
- 예약된 API 워크플로 취소 작업을 사용하여 실행이 예약되기 전에 언제든지 이 ID를 사용하여 API 워크플로를 취소할 수 있습니다.
- 예약된 워크플로 목록을 취소하려면 Cancel a list of scheduled API Workflows (예약된 API 워크플로 목록 취소) Action을 사용할 수 있습니다.
29. API Workflow Scheduler (중급) : API워크플로우 스케쥴러 설정 주의사항, 버블의 자동수행 일정, API
이 글에서는 워크플로를 보고, 일시 중지하고, 삭제할 수 있는 스케줄러에 대해 설명합니다. 예약된 워크플로( API 워크플로라고도 함 )는 특정 시간에 Bubble 서버에서 실행되도록 예약된 워크플
conversion-skill.tistory.com
'버블 개발 > 중급' 카테고리의 다른 글
87. Authentication (중급) : API 인증 bearer token, 인증없이 접속, 사용자 인증, 관리자 인증 (0) | 2023.08.21 |
---|---|
86. Recursive API Workflows(중급) : 재귀적 워크플로우 정의, 설정 (0) | 2023.08.21 |
84. API workflow 생성하기 (중급) : 활성화, endpoint 정의, parameter 정의, 자동 감지 설정 (0) | 2023.08.17 |
83. API worflows (중급) : 백엔드 워크플로우 설정, 보안, 외부에서 사용하기 설정 (0) | 2023.08.16 |
82. Actions (중급) : 워크플로우의 실행 일반 규칙, 순착적 일관성 유지 방법, 이전 데이터 사용 (0) | 2023.08.15 |