트리거

트리거 편집기입니다. 신원과 위치, 종류와 간격과 액션이 있는 일정 카드, 실행 상황 난간, 고정 지연과 건너뛴 틱을 가진 100 ms 스케줄러, 명령, 그리고 트리거가 할 수 없는 일.

Markdown으로 보기

트리거는 원인 하나를 액션 하나에 묶습니다. 오늘 있는 원인 갈래는 간격 하나뿐입니다. 스케줄러가 정해진 주기로 묶인 액션을 실행합니다. Logic 열의 Triggers 구역 아래에서 트리거를 고르면(또는 새로 만들기… > 새 트리거로 만들면) 그 편집기가 열립니다. 읽는 데에는 Logic 보기, 편집하는 데에는 Logic 구성이 필요합니다. 트리거에는 운전 동사가 없습니다. 스스로 발동하고, 손으로 돌리는 것은 그 액션 자신의 실행입니다.

머리글은 트리거 표시와 이름, 그리고 "정한 간격으로 액션 하나를 스스로 실행하는 일정입니다."라는 줄을 보여 주고, 꺼져 있는 동안에는 사용 안 함 필을 함께 보여 줍니다. 양식 열에는 식별과 일정이 놓이고, 난간에는 실행 상황이 놓입니다.

식별

무엇인가 값과 기본값 효과
이름 표시 이름입니다. 트리거가 일으킨 실행은 이 이름으로 기록됩니다. 자유 입력. 새 트리거는 TriggerN이고, 빈 이름은 Trigger로 저장됩니다. 자판을 누를 때마다 자동으로 저장됩니다. 트리거는 신원으로 참조되므로 이름을 바꿔도 다른 무엇에도 영향이 없습니다.
위치 줄 트리거가 놓인 자리입니다. Triggers / <folder> / <name>입니다. 읽기 전용. 트리거에는 주소가 없습니다. 폴더는 트리의 이동 위치로 바꾸십시오.
설명 (선택) 자유 입력. 비어 있음. 없습니다.

일정

무엇인가 값과 기본값 효과
종류 원인. 간격이며, 갈래는 이것 하나뿐입니다. 오늘은 없습니다.
간격 (ms) 발동 주기. 100 이상의 정수(스케줄러의 검사 해상도)이며 기본값은 1000입니다. 그보다 작거나 음수이거나 해석되지 않는 입력은 저장된 간격을 그대로 두고 "간격은 100 ms 이상의 정수여야 합니다(스케줄러의 해상도)."를 보여 줍니다. 간격을 바꾸면 시계가 초기화됩니다. 다음 틱은 다음 검사로부터 온전한 새 간격 뒤가 됩니다.
액션 트리거가 실행할 액션. (없음)이거나 이 스테이션의 아무 액션. 기본값은 (없음)입니다. 액션이 없는 트리거는 쉬며 "액션을 연결하십시오. 그때까지 트리거는 쉽니다."라고 말합니다. 액션이 삭제된 트리거는 "연결된 액션이 더 이상 없습니다. 다른 액션을 고르십시오."라고 하고, 액션이 꺼진 트리거는 "연결된 액션 'X'이(가) 사용 안 함이어서 트리거가 쉽니다."라고 합니다.

모든 칸은 자동으로 저장되고, 검사 메시지는 카드 아래에서 0.5초마다 다시 계산됩니다.

실행 상황

스케줄러는 100 ms마다 살펴보고 때가 된 것을 로직 대기열에 올립니다.

  • 방금 만들었거나 켰거나 간격이나 종류나 액션을 편집한 트리거는 다음 검사에서 시계를 심습니다. 그 첫 틱은 그때로부터 한 간격 뒤에 옵니다.
  • 한 번 발동한 뒤 다음 틱은 지금으로부터 온전한 한 간격 뒤에 옵니다(고정 지연). 바쁜 구간이 지나간 뒤 밀린 것이 몰아치는 일은 결코 없습니다.
  • 그 트리거의 앞선 실행이 아직 대기열에 있거나 돌고 있을 때 때가 된 틱은 대기열에 쌓이지 않고 건너뜁니다. 건너뛴 횟수를 세고 다음 틱의 시각을 다시 정합니다. 느린 액션 뒤에 밀린 일이 쌓일 수는 없습니다.
  • 액션이 없거나 꺼진 트리거는 쉽니다. 발동 없이 시각만 다시 정하며, 쉬는 것은 결코 건너뜀으로 세지 않습니다.
  • 실행은 트리거의 이름으로 기록되고 그 결과는 액션의 마지막 실행 난간에 놓입니다. 꺼진 트리거는 결코 발동하지 않습니다.

실행 상황 난간은 실시간 진단을 보여 줍니다. 마지막 실행, 다음 예정(스케줄러가 시계를 심기 전까지는 짧은 줄), 건너뛴 틱(메모리에 두는 횟수이며 다시 시작하면 0으로 돌아갑니다), 그리고 이런 알림입니다. "앞선 실행이 아직 끝나지 않았을 때 도착한 틱은 큐에 쌓이지 않고 건너뜁니다. 이벤트 콘솔에는 실패한 실행만 이 트리거의 이름으로 올라갑니다."

Triggers 뿌리 패널은 모든 트리거를 값 열의 상태와 함께 나열합니다. "1000 ms마다 · 마지막 <when> · 건너뜀 N"이거나 "사용 안 함"입니다.

명령

명령 하는 일 회색이 되는 때 그려지지 않는 때
사용 / 사용 안 함 사용 표시를 뒤집습니다. 켜면 시계를 다시 심습니다. 스테이션이 잠겼거나 읽기 전용일 때. 역할에 Logic 구성이 없을 때.
복사 트리거를(같은 액션, 같은 간격으로) Triggers 뿌리에 비어 있는 이름으로 복제하고 엽니다. 복사본은 일정 없이 시작합니다. 스테이션이 잠겼거나 읽기 전용일 때. 역할에 Logic 구성이 없을 때.
트리거 삭제 "'X'을(를) 삭제하시겠습니까? 이 트리거가 없어집니다. 이 작업은 되돌릴 수 없습니다."라고 묻습니다. 스테이션이 잠겼거나 읽기 전용일 때. 역할에 Logic 구성이 없을 때.

묶여 있던 액션을 삭제하면 트리거는 액션과 함께 삭제되는 대신 묶임이 풀린 채로 남습니다.

트리거가 하지 않는 일

다른 원인 갈래는 없습니다. 값의 변화로도, 조건으로도, 하루의 어느 시각으로도, 시작할 때에도 아무것도 발동하지 않습니다. 트리거는 액션 하나를 실행하며 여럿을 실행하지 않고, 손으로 발동시킬 수도 없습니다. 그럴 때는 액션 자체를 실행하십시오. 스케줄러는 런타임과 함께 멈추고, 스테이션이 닫히는 동안 "런타임 정지"로 거부된 발동은 조용히 버려집니다.