본문 바로가기
버블 개발/중급

29. API Workflow Scheduler (중급) : API워크플로우 스케쥴러 설정 주의사항, 버블의 자동수행 일정, API 지연 방지

by 스타트업 사업가 마르코 2023. 7. 6.
이 글에서는 워크플로를 보고, 일시 중지하고, 삭제할 수 있는 스케줄러에 대해 설명합니다.

 

  • 예약된 워크플로( API 워크플로라고도 함 )는 특정 시간에 Bubble 서버에서 실행되도록 예약된 워크플로입니다.
  • 애플리케이션 편집기의 좌측 Log 탭 에서 Scheduler에 접속하여 예정된 모든 워크플로우를 볼 수 있습니다.

 

* 앱의 라이브(Live) 및 개발 환경에는 각각 별도의 Scheduler(일정)이 있습니다. 목록에 있어야 할 워크플로가 표시되지 않으면 올바른 환경(라이브 or 개발)을 보고 있는지 확인하십시오.

 

(1) Scheduler 워크플로 설정 주의사항 - 지연 방지

[ 예약된 워크플로가 대기하는 방법 ]

스케줄러(Scheduler)는 대기열이며 깔때기로 묘사될 수 있습니다.

 

  • 만약에 깔때기가 배수되는 속도보다 더 빠르게 물로 채워지면 깔때기가 막혀 흐름에 영향을 줄 수 있습니다.
  • 마찬가지로 스케줄러가 동시에 매우 많은 워크플로우로 채워진 경우 스케줄러가 혼잡하여 지연이 발생할 수 있습니다.

 

 

: 예약된 워크플로로 작업할 때 지연을 방지하려면 아래 권장 사항을 따르십시오.

 

1. 지연이유

  • 워크플로의 작업량이 많을수록 더 많은 서버 용량을 사용하게 됩니다.
    • 이는 워크플로의 작업 수와 해당 워크플로의 복잡성에 모두 영향을 받습니다.
    • 대량의 데이터에 대해 작업하는 데이터베이스 작업(특히 고급 필터를 사용하는 검색) 및 항목 목록에 대해 작업하는 작업은 특히 부담이 됩니다.
    • 많은 수의 작업, 특히 서로 의존하는 경우(예: X 단계의 결과 사용 ) 작업 속도가 느려질 수 있습니다.

 

2. 지연방지 → 간격 설정

  • 많은 수의 워크플로를 예약하는 경우(목록에서 또는 재귀적으로 API 워크플로 예약 사용) 각 주기 사이에 일정 시간 간격을 두는 것이 좋습니다.
  • 워크플로의 복잡성과 앱의 일반적인 용량에 따라 시간이 달라집니다.

 

3. 실험의 필요성

  • 프로세스가 가능한 최고 속도로 완료될 필요가 없는 경우 몇 초의 지연 시간 설정을 실험하여 용량을 제어할 수 있습니다.
  • 전반적으로 서버 측 워크플로는 매우 강력한 기능이지만 시스템을 압도하지 않는 워크플로를 구축하는 방법을 배우려면 약간의 실험이 필요하다는 것을 알 수 있습니다.

 

(2) 예약된 워크플로 탐색

애플리케이션 편집기의 좌측 Log 탭 에서 Scheduler에 접속하여 예정된 모든 워크플로우를 볼 수 있습니다.

 

  • 예약된 워크플로를 검색하려면 날짜/시간 입력을 설정하고 show 버튼을 클릭합니다.
  • Bubble은 지정한 시간 이후에 예약된 모든 워크플로를 검색합니다.
  • 검색을 완료하는 데 약간의 시간이 걸릴 수 있습니다.

 

: 열을 통해 특정 워크플로에 대한 세부 정보를 볼 수 있습니다.

API 스케쥴러 보기
API 스케쥴러 보기

1. 예약된 시간 (Scheduled time)

  • 워크플로가 실행되도록 예약된 날짜/시간입니다.
  • 브라우저에서 보고한 시간대에 표시됩니다. (동일한 시간대에 있지 않은 경우 개발자와 예약한 사용자에게 다르게 보일 수 있음)

 

2. ID

  • 예약된 워크플로의 ID입니다.
  • 예약된 모든 워크플로에는 해당 워크플로를 식별하는 데 사용되는 고유 ID가 있습니다.

 

3. API 이벤트 (API Event)

  • 워크플로 편집기에서 지정한 레이블로 인식되는 워크플로의 이벤트입니다.

 

4. 현재 사용자 (Current user)

  • 워크플로를 예약한 사용자의 이메일입니다.

 

5. 매개변수 (Parameter)

  • 워크플로가 예약되었을 때 제공된 모든 맞춤 매개변수(Parameter)가 포함됩니다.

 

(3) 작업 일시 중지 - Pause tasks

: 예정된 워크플로를 일시 중지할 때 사용됩니다. (위의 사진 참고)

  • 작업 일시 중지 기능을 사용할 때는 모든 API 워크플로의 실행이 중지되므로 주의하십시오.
  • 워크플로가 예상대로 실행되지 않는 경우 이 설정을 확인하십시오.
라이브(Live) 환경에서 작업 중이고 API 워크플로를 예약하는 라이브(Live) 사용자가 있는 경우 일시 중지 작업이 비활성화될 때까지 실행되지 않습니다.

 

작업 다시 시작(Resume tasks)

  • 이미 일시 중지된 경우 "작업 다시 시작(Resume tasks)"이라고 표시되며 예약된 워크플로를 다시 실행하기 위해 클릭할 수 있습니다.
 

 

(3) 모두 취소 - Cancel all

: 아직 실행되지 않은 과거의 모든 워크플로 또는 예약된 워크플로 전체를 삭제할 수 있습니다.

(위의 사진 참고)

 

(4) FAQ: API 워크플로 스케줄러

 

스케줄러가 외부 API 요청을 표시합니까?

아니요, 외부 앱에서 오는 워크플로 API 요청은 예약되지 않고 즉시 트리거되므로 스케줄러에 표시되지 않습니다.