스케줄
정해 둔 시각에 홈 에이전트가 깨어나 미리 적어 둔 문장 하나를 수행합니다. 월요일 아침마다 답변 대기 티켓을 훑는 일이라면 사람이 그 시각에 앉아 있지 않아도 됩니다.
이 앱이 떠 있는 동안에만 돕니다. 시각을 정해 두고 앱을 껐으면 그 시각에는 아무 일도 안 일어납니다.
하나 만들기
헤더 로고를 누르면 홈입니다. 좌측 패널의 둘째 그룹이 스케줄입니다.
이 프로젝트의 홈에서 아직 아무것도 안 물어봤으면 좌측 패널이 통째로 없습니다. 첫 화면이 온보딩이라 그렇습니다. 아무거나 한 번 물어보면 패널이 서고 그때부터 보입니다.
스케줄머리 오른쪽의새 스케줄을 누르세요. 다이얼로그가 뜹니다.반복을 고릅니다.한 번만으로 열려 있고 나머지는매일,매주,매월입니다.시각을 넣습니다. 고른 갈래에 따라 이 칸의 모양이 갈립니다(아래 표). 비어서 열리니 직접 넣어야 합니다.문장에 시킬 말을 씁니다. 홈에서 그냥 묻는 것과 같은 말입니다. 이 칸의Enter는 줄바꿈입니다. 제출이 아닙니다.만들기를 누릅니다. 시각과 문장이 둘 다 차야 눌립니다.
줄이 곧바로 그룹에 섭니다. 윗줄이 문장의 첫 줄이고 아랫줄이 다음 예정 시각입니다.
갈래 넷
반복 | 시각 칸 | 언제 도나 |
|---|---|---|
한 번만 | 날짜와 시각을 한 칸에 | 그 시각에 한 번. 돌고 나면 끝입니다 |
매일 | 시각 하나 | 날마다 그 시각 |
매주 | 요일 하나와 시각 | 그 요일 그 시각 |
매월 | 1일부터 28일까지 중 하나와 시각 | 그 날 그 시각 |
매월은 28일에서 끊깁니다. 29일부터는 그 날이 없는 달이 있습니다. 그런 달에는 회차가 조용히 사라집니다. 화면도 그 칸 아래 한 줄로 그렇게 말합니다.말일이라는 값은 없습니다.- 시각은 이 컴퓨터의 시간대로 읽습니다. 시간대를 고르는 칸은 없습니다.
매 30분이나매 3시간은 없습니다. 갈래는 이 넷입니다.- cron 문자열이 어디에도 안 보입니다.
0 9 * * 1을 손으로 쓸 일이 없습니다. 화면이 만듭니다. - 고치는 자리가 없습니다. 조작은 만들기와 지우기 둘입니다. 시각이나 문장을 바꾸려면 지우고 다시 만드세요.
언제 도나
- 이 앱이 떠 있는 동안입니다. 앱이 15초마다 확인해서 그 사이에 예정 시각이 지난 스케줄을 깨웁니다. cron 줄도 상주 데몬도 새로 안 섭니다. 워커를 부르는 자동 실행(엔진만으로 돌리기)과는 다른 자리입니다.
- 앱이 꺼져 있던 사이에 지난 회차는 켤 때 한 번만 늦게 돕니다. 매일 9시 스케줄을 사흘 껐다 켜도 회차는 하나입니다. 밀린 것이 줄줄이 돌면 그 프로젝트의 토큰을 한 번에 태우니까요.
- 늦게 도는 회차는 자기가 늦은 것을 압니다. 예정 시각과 실제 시각이 둘 다 그 회차의 질문에
실려 갑니다.
어제치를 정리해라같은 문장이 그 값을 보고 판단합니다. - 맥이 자고 있던 동안은 앱이 꺼져 있던 것과 같습니다.
안 도는 때
- 앱이 꺼져 있는 동안에는 아무 일도 안 일어납니다. 나중에 켤 때 한 회차로 갈음합니다.
- 31일보다 오래 지난 회차는 안 돕니다. 켤 때 되짚는 범위가 31일이라 그렇습니다. 한 달 넘게
앱을 안 켰으면 그보다 오래된 회차는 없는 것으로 칩니다.
한 번만으로 정한 시각이 그만큼 지났으면 앱을 켜도 안 돕니다. 그 줄은 아랫줄 끝에지남이 붙은 채로 남습니다. 지우고 새로 만드세요. - 앞 회차가 아직 답하는 중이면 이번 회차는 버립니다. 한 스레드에 두 회차가 겹쳐 쌓이지 않습니다.
- 사람이 지금 하는 대화는 이것과 상관이 없습니다. 스케줄 회차와 사람 질문은 서로를 안 기다립니다.
회차는 어디서 보나
그 스케줄 줄을 고르면 홈 대화 스레드가 그 스케줄의 것으로 갈립니다. 회차 하나가 질문과 답 한 벌입니다. 도구를 무엇으로 몇 번 불렀는지까지 사람이 물었을 때와 똑같이 흐릅니다. 그 스레드가 곧 실행 이력입니다. 회차 목록도 실행 로그도 따로 없습니다.
- 사람이 보던 대화에는 안 끼어듭니다. 스케줄마다 자기 대화 하나를 씁니다.
대화그룹에 줄이 생기지도 않습니다. 회차로 가는 길은 그 스케줄 줄 하나입니다. - 아직 한 번도 안 돈 스케줄을 고르면
회차 없음과 첫 회차가 언제 도는지 한 줄이 섭니다. 예정 시각이 이미 지난한 번만이면 그 자리에 돌지 않는다는 말이 대신 섭니다. 말을 걸 세션이 아직 없어서보내기가 잠깁니다. 물어볼 것이 있으면 그 자리는새 대화입니다. - 도는 회차를 고르면 글자가 흐르고
중지가 섭니다. 여기서는 말을 걸 수 있습니다. 던진 말은 참견으로 들어갑니다(도는 세션에 말 걸기). - 도는 중인 줄에는 윗줄 오른쪽에
답하는 중이 붙습니다. - 회차가 실패하면 그 사유가 스레드에 섭니다. 다시 돌지는 않습니다. 재시도가 없습니다. 다음 예정 시각에 다음 회차가 돕니다.
- 회차가 끝났다는 알림은 없습니다. 종에도 안 뜹니다.
요구사항으로 올리게 하기
문장이 시켰을 때만 올립니다. 회차는 홈 에이전트 세션이라 요구사항 접수를 이미 할 수 있습니다(요구사항 접수하기). 스케줄 문장에 그렇게 써 두면 그 문장이 미리 쓴 지시입니다.
답변 대기 티켓을 훑고 사람이 답할 것이 있으면 요구사항으로 올려라.올라가는 것은 kind: request 한 장이고 pm이 받습니다. 올릴 것이 있는지는 그 회차가
판단합니다. 없다고 보면 안 올립니다. 안 시킨 문장은 아무것도 접수하지 않습니다.
지우기
줄 오른쪽 끝의 휴지통입니다. 스케줄을 지웁니다가 뜨고 무엇을 지우는지 그 문장의 첫 줄이 같이
섭니다.
지운 스케줄의 지난 회차는 화면에서 다시 못 엽니다. 그 대화로 가는 길이 그 줄이었으니까요. 트랜스크립트 파일 자체는 남습니다.
켜고 끄는 스위치는 없습니다. 잠깐 멈추는 자리가 삭제입니다. 정해 둔 것이 시각과 문장 둘뿐이니 다시 만드는 것이 어렵지 않습니다.
목록이 길어지면
스케줄 그룹도 세 줄부터 시작하고 더보기가 세 줄씩 엽니다. 대화 그룹과 같은 방식입니다.
순서는 만든 순이고 정렬을 바꾸는 컨트롤은 없습니다.
이 맥의 것입니다
스케줄은 큐 안에 없습니다. ~/.config/dira/home-sessions.json에 있습니다. 큐(.dira)에는 새 파일이
하나도 안 생깁니다.
- 같은 큐를 두 컴퓨터가 열어도 스케줄은 안 따라갑니다. 큐를 커밋하거나 동기화해도 그렇습니다. 같은 줄을 두 앱이 서로 밟지 않게 일부러 그렇게 뒀습니다.
- 그 파일을 손으로 고칠 일은 없습니다. 못 읽는 줄은 앱이 없는 것으로 칩니다. 어디가 틀렸다고 말해 주지도 않습니다.
- 회차가 자기 스케줄을 못 고칩니다. 홈 에이전트의 쓰기가 닿는 자리는 큐 안뿐입니다.
안 되는 것
- 대화로는 스케줄을 못 만듭니다. 홈에서
매일 9시에 이거 해줘라고 하면 에이전트가 이 화면을 가리킵니다. 파일은 안 갈립니다. 시각은 사람이 정하는 값입니다. - 밖에서 들어오는 신호로는 못 깨웁니다. 웹훅은 나가는 한 방향입니다(답변 대기를 밖으로 보내기). 이 앱에는 듣는 포트가 없어서 Slack에서 회차를 띄우는 길이 없습니다.
- 워커를 못 깨웁니다. 이 스케줄이 깨우는 것은 홈 에이전트 세션 하나입니다. 티켓 디스패치를 예약하는 자리가 아닙니다.
- 지금 돌리기가 없습니다. 시각을 안 기다리고 그 문장을 보내려면 홈에서 그냥 물으세요.
- 다음 회차 미리보기가 없습니다. 회차가 몇 건인지도 안 적힙니다. 줄에 서는 시각은 다음 한 번뿐입니다.
- 여러 프로젝트의 스케줄을 한 화면에서 볼 수는 없습니다. 프로젝트마다 자기 홈입니다.
다음은 답변 대기를 밖으로 보내기입니다.