logologo
시작
가이드
개발
플러그인
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
시작
가이드
개발
플러그인
API
logologo
워크플로우
개요
빠른 시작

트리거

개요
테이블 이벤트
예약된 작업
액션 전 이벤트
액션 후 이벤트
사용자 정의 액션 이벤트
승인
Webhook

노드

개요

인공지능

대규모 언어 모델

흐름 제어

조건
다중 조건 분기
반복
변수
병렬 분기
워크플로우 호출
플로우 출력
JSON 변수 매핑
지연
종료

계산

계산
날짜 계산
JSON 계산

데이터 작업

데이터 생성
데이터 업데이트
데이터 조회
데이터 삭제
SQL 작업

수동 처리

수동 처리
승인
참조

유형 확장

HTTP 요청
JavaScript 스크립트
알림
이메일 발송
응답
응답 메시지
변수
실행 기록
버전 관리
고급 옵션

확장 개발

개요
트리거 유형 확장
노드 유형 확장
API 참조
Previous Page테이블 이벤트
Next Page액션 전 이벤트
TIP

이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요

#정기 작업

#소개

정기 작업은 시간을 트리거 조건으로 하는 이벤트이며, 두 가지 모드로 나뉩니다.

  • 사용자 지정 시간: 시스템 시간을 기준으로 cron과 유사하게 정기적으로 트리거됩니다.
  • 컬렉션 시간 필드: 컬렉션의 시간 필드 값에 따라 해당 시간이 되면 트리거됩니다.

시스템이 설정된 트리거 조건을 만족하는 시점(초 단위 정확도)에 도달하면, 해당 워크플로우가 트리거됩니다.

#기본 사용

#정기 작업 생성

워크플로우 목록에서 워크플로우를 생성할 때, '정기 작업' 유형을 선택합니다.

정기 작업 생성

#사용자 지정 시간 모드

일반적인 모드의 경우, 먼저 시작 시간을 임의의 시점(초 단위 정확도)으로 설정해야 합니다. 시작 시간은 미래 또는 과거의 시간으로 설정할 수 있습니다. 과거 시간으로 설정한 경우, 설정된 반복 조건에 따라 시간이 도래했는지 확인합니다. 만약 반복 조건이 설정되어 있지 않고 시작 시간이 과거인 경우, 워크플로우는 더 이상 트리거되지 않습니다.

반복 규칙은 두 가지 방식으로 설정할 수 있습니다.

  • 간격 시간별: 시작 시간 이후 매 고정된 간격으로 트리거됩니다. 예를 들어, 매시간, 30분마다 등입니다.
  • 고급 모드: cron 규칙에 따라 고정된 규칙 기반 날짜 및 시간에 도달하는 주기로 설정할 수 있습니다.

반복 규칙을 설정한 후에는 종료 조건도 설정할 수 있습니다. 고정된 시점에 종료하거나, 실행된 횟수로 제한할 수 있습니다.

#컬렉션 시간 필드 모드

컬렉션의 시간 필드를 사용하여 시작 시간을 결정하는 것은 일반 정기 작업과 컬렉션 시간 필드를 결합한 트리거 모드입니다. 이 모드를 사용하면 특정 프로세스의 노드를 단순화하고 설정 측면에서도 더욱 직관적입니다. 예를 들어, 기한이 지나 미결제된 주문의 상태를 취소됨으로 변경해야 하는 경우, 컬렉션 시간 필드 모드의 정기 작업을 하나만 설정하여 시작 시간을 주문 생성 후 30분으로 선택할 수 있습니다.

#관련 팁

#비활성 또는 종료 상태의 정기 작업

설정된 시간 조건이 충족되었음에도 불구하고 NocoBase 애플리케이션 서비스 전체가 비활성 또는 종료 상태인 경우, 해당 시점에 트리거되어야 할 정기 작업은 건너뛰게 됩니다. 또한, 서비스가 다시 시작된 후에도 이미 건너뛴 작업은 다시 트리거되지 않습니다. 따라서 사용 시 이러한 상황에 대한 처리 또는 대체 방안을 고려해야 할 수 있습니다.

#반복 횟수

종료 조건에서 '반복 횟수'를 설정하면, 동일한 워크플로우의 모든 버전에서 실행된 총 횟수를 계산합니다. 예를 들어, 정기 작업이 버전 1에서 10번 실행되었고 반복 횟수도 10번으로 설정되었다면, 해당 워크플로우는 더 이상 트리거되지 않습니다. 새 버전으로 복사하더라도 반복 횟수를 10보다 큰 숫자로 변경하지 않는 한 트리거되지 않습니다. 하지만 새로운 워크플로우로 복사하는 경우, 실행 횟수는 0부터 다시 계산됩니다. 관련 설정을 변경하지 않으면 새로운 워크플로우는 10번 더 트리거될 수 있습니다.

#반복 규칙의 간격 시간 모드와 고급 모드의 차이점

반복 규칙의 간격 시간은 마지막 트리거(시작 시간) 시점을 기준으로 하는 반면, 고급 모드는 고정된 시점에 트리거됩니다. 예를 들어, 30분마다 한 번 트리거되도록 설정했고 마지막 트리거가 2021-09-01 12:01:23이었다면, 다음 트리거 시간은 2021-09-01 12:31:23이 됩니다. 반면 고급 모드(cron 모드)는 설정된 규칙에 따라 고정된 시점에 트리거됩니다. 예를 들어, 매시간 01분과 31분에 트리거되도록 설정할 수 있습니다.

#예시

생성 후 30분 이상 결제가 완료되지 않은 주문을 매분 확인하고 자동으로 취소 상태로 변경한다고 가정해 봅시다. 두 가지 모드를 사용하여 이를 구현해 보겠습니다.

#사용자 지정 시간 모드

정기 작업 기반 워크플로우를 생성합니다. 트리거 설정에서 '사용자 지정 시간' 모드를 선택하고, 시작 시간은 현재 시간보다 늦지 않은 임의의 시점을 선택하며, 반복 규칙은 '매분'으로 선택하고, 종료 조건은 비워둡니다.

정기 작업_트리거 설정_사용자 지정 시간 모드

이후 프로세스 로직에 따라 다른 노드를 설정하여 30분 전 시간을 계산하고, 해당 시간 이전에 생성되었지만 결제되지 않은 주문의 상태를 취소됨으로 변경합니다.

정기 작업_트리거 설정_사용자 지정 시간 모드

워크플로우가 활성화되면, 시작 시간부터 매분 한 번씩 트리거되어 30분 전 시간을 계산하고, 해당 시점 이전에 생성된 주문의 상태를 취소됨으로 업데이트하는 데 사용됩니다.

#컬렉션 시간 필드 모드

정기 작업 기반 워크플로우를 생성합니다. 트리거 설정에서 '컬렉션 시간 필드' 모드를 선택하고, 컬렉션은 '주문' 컬렉션을 선택하며, 시작 시간은 주문의 생성 시간으로부터 30분 후로 설정하고, 반복 규칙은 '반복 안 함'을 선택합니다.

정기 작업_트리거 설정_컬렉션 시간 필드 모드_트리거

이후 프로세스 로직에 따라 다른 노드를 설정하여, 트리거 데이터 ID와 일치하고 상태가 '미결제'인 주문의 상태를 취소됨으로 업데이트합니다.

정기 작업_트리거 설정_컬렉션 시간 필드 모드_업데이트 노드

사용자 지정 시간 모드와 달리, 여기서는 30분 전 시간을 계산할 필요가 없습니다. 워크플로우 트리거 데이터 컨텍스트에 시간 조건을 만족하는 해당 데이터 행이 이미 포함되어 있기 때문에, 해당 주문의 상태를 직접 업데이트할 수 있습니다.