Docs Menu
Docs Home
/ /
Atlas App Services
/

트리거 비활성화

이 페이지의 내용

  • 개요
  • 스냅샷에서 복원하기

Atlas Triggers는 네트워크 중단 또는 기본 cluster 변경과 같이 trigger의 change stream이 계속 진행되지 못하게 하는 이벤트에 대한 응답으로 suspended 상태에 들어갈 수 있습니다. trigger가 일시 중단 상태가 되면 이벤트를 수신하지 않으며 trigger가 실행되지 않습니다.

참고

트리거하다 일시 중단되거나 실패하는 경우, Atlas App Services에서 프로젝트 소유자에게 문제를 알리는 이메일을 보냅니다.

Atlas App Services UI에서 또는 App Services CLI로 애플리케이션 디렉토리를 가져와서 트리거를 일시 중단할 수 있습니다.

1

Triggers 페이지의 Database Triggers 탭에서 Atlas Triggers 중에서 비활성화하려는 trigger를 찾습니다.

App Services UI 에 있는 앱의 트리거 목록
2

Enabled 토글을 "꺼짐" 설정으로 전환합니다.

App Services UI 의 ' trigger편집' 화면
클릭하여 확대
3

개발 모드가 활성화되어 있지 않은 경우 review draft & deploy 버튼을 눌러 변경 사항을 릴리스합니다.

1
appservices pull --remote=<App ID>
2

애플리케이션 의 새 사본을 내보낸 경우, 일시 중단된 trigger 에 대한 최신 구성 파일 이 이미 포함되어 있어야 합니다. 디렉토리 에서 트리거와 이름이 같은 파일 을 /triggers trigger 살펴보면 구성 파일 이 있는지 확인할 수 trigger 있습니다.

3

trigger 구성 파일 이 있는지 확인한 후 trigger JSON 정의의 최상위 수준에 값이 true"disabled" 필드 를 추가합니다.

{
"id": "6142146e2f052a39d38e1605",
"name": "steve",
"type": "SCHEDULED",
"config": {
"schedule": "*/1 * * * *"
},
"function_name": "myFunc",
"disabled": true
}
4

마지막으로 구성을 앱 으로 다시 푸시합니다.

appservices push

다음 시나리오를 생각해 보겠습니다.

  1. 데이터베이스 트리거가 비활성화되었거나 일시 중단되었습니다.

  2. trigger가 비활성화되어 있는 동안 새 문서가 추가됩니다.

  3. 데이터베이스는 스냅샷에서 새 문서가 추가되기 전의 시간으로 복원됩니다.

  4. 데이터베이스 트리거가 다시 시작됩니다.

이 경우 trigger는 새로 추가된 모든 문서를 선택하고 각 문서에 대해 실행합니다. 이미 처리된 이벤트의 경우에는 다시 실행되지 않습니다.

참고

스냅샷 복원 중에 이전에 활성화된 데이터베이스 트리거가 실행 중인 경우, 복원 프로세스 중에 트리거를 Atlas cluster에 연결할 수 없기 때문에 Atlas UI의 trigger 편집 섹션에 오류가 표시됩니다. 스냅샷 복원이 완료되면 오류가 사라지고 trigger가 계속 정상적으로 실행됩니다.

돌아가기

예약된 트리거

이 페이지의 내용