예약 작업: 정해진 시간에 실행
예약 작업은 아무도 버튼을 누르지 않아도 정해진 시간에 사이트에서 무언가를 실행해요. 매일 아침 요약을 만들거나, 일요일 밤마다 정리하는 일 같은 거예요. 프로젝트의 Settings, Scheduled tasks에서 찾을 수 있어요. 이 페이지에서는 작업을 설정하고, 실행 내역을 확인하고, 실패한 작업을 고치는 방법을 알려 드려요.
예약 작업이 하는 일
예약 작업은 Briks가 일정에 따라 하는 호출이에요. 사이트의 라우트(페이지를 보여주는 대신 코드를 실행하는 /api/ 아래 주소)나, 사용 중인 서비스 같은 다른 공개 https 주소를 호출해요. 실제 일은 그 주소가 해요. Briks는 정해진 시간에 호출하고 돌아온 응답을 기록해요.
그래서 작업에는 호출할 대상이 필요해요. 사이트에 해당 작업용 라우트가 아직 없다면, 먼저 스튜디오에서 만들어 달라고 요청한 다음 작업이 그 라우트를 가리키게 하세요. 작업이 아직 없으면 페이지에 No scheduled tasks라고 표시되고, 일일 요약 보내기, 오래된 기록 정리하기, 다른 서비스와 동기화하기 같은 흔한 작업을 요약해서 보여줘요.
작업은 사이트가 게시되어 있든 아니든, 정한 시각에 선택한 시간대 기준으로 실행돼요. 이 섹션에는 Tasks, Runs, Settings의 세 가지 보기가 있어요.
요금제별 한도
| 요금제 | 프로젝트당 예약 작업 수 | 모든 대시보드 플랜이 정하는 세 가지 |
|---|---|---|
| Free | 1 | 2,000 |
| Starter | 5 | 5,000 |
| Pro | 10 | 10,000 |
| Studio | 25 | 50,000 |
| Agency | 50 | 100,000 |
Tasks 보기에서는 요금제 기준으로 지금 어디까지 썼는지, 예를 들어 5개 중 2개를 볼 수 있어요. 한도에 이르면 Add task가 회색으로 바뀌어요. 그러면 개수 옆에 Get more 링크가 나타나고, 이 링크는 업그레이드 창을 열어 작업 하나를 더 추가할 수 있는 가장 작은 요금제를 알려 줘요. 그날의 호출 한도를 넘게 되는 실행은 Skipped로 표시돼요. 요금제 비교는 결제에서 볼 수 있어요.
예약 작업 추가하기
Add task 누르기
위치: Settings, Scheduled tasks
Add a scheduled task 창이 열려요. 작업은 Editor, Admin, Owner가 추가할 수 있어요.
이름 짓기
위치: Add a scheduled task
실행 목록에서 알아볼 수 있는 짧은 이름을 붙이세요. 예:
Daily digest. 최대 60자예요.일정 정하기
위치: Add a scheduled task
Schedule에 일정을 입력하거나 그 아래 버튼 중 하나를 누르세요. 형식은 다음 섹션에서 설명해요.
시간대 고르기
위치: Add a scheduled task
Time zone은 처음에 내가 있는 곳으로 설정돼요. 아래 상자에 일정이 말로 풀어져 나오고 그 시간대 기준으로 다음 다섯 번의 실행 시각도 보여줘서, 저장하기 전에 확인할 수 있어요.
무엇을 부르는지 적어 주세요
위치: Add a scheduled task
What it calls 아래에서 A route on this site를 고르고
/api/로 시작하는 경로를 입력하거나, Another address를 고르고 전체 https 주소를 입력하세요. 경로를 고르면 입력란 아래 안내에 호출될 전체 주소가 표시돼요.POST 또는 GET 선택하기
위치: Add a scheduled task
POST는 호출과 함께 짧은 메시지를 보내요. 작업용으로 만든 대부분의 경로가 이 방식을 기대해요. GET은 주소만 요청해요. 잘 모르겠다면 POST로 두세요.
저장
위치: Add a scheduled task
Add task를 누르세요. 스케줄러가 작업을 받아들인 뒤에야 저장되니, 목록에 있는 작업은 모두 실제로 실행되는 작업이에요.
일정 작성하기
스케줄은 공백으로 구분한 다섯 개의 값이에요: 분, 시, 일, 월, 요일. *는 모든 값을 뜻해요. 입력한 내용을 읽을 수 없으면 범위를 벗어난 값처럼 무엇이 잘못됐는지 입력란에 알려 줘요.
| 이런 걸 원해요 | 유형 | 미리보기에는 이렇게 나와요 |
|---|---|---|
| 매일 아침 7시 | 0 7 * * * | 매일 07:00 |
| 평일 저녁 6시 30분 | 30 18 * * 1-5 | 평일 매일 18:30 |
| 15분마다 | */15 * * * * | 15분마다 |
| 두 시간마다 정각에 | 0 */2 * * * | 2시간마다, 정각에 |
| 일요일 밤 11시 | 0 23 * * 0 | 매주 일요일 23:00 |
| 매월 1일 오전 6시 | 0 6 1 * * | 매월 1일 06:00 |
요일은 0(일요일)부터 6(토요일)까지이고, 7도 일요일이에요. mon이나 jan 같은 이름, 1,3,5 같은 목록, 1-5 같은 범위, */10 같은 간격도 쓸 수 있어요. @hourly, @daily, @weekly, @monthly, @yearly 같은 단축 표기도 돼요.
입력란 아래 버튼을 누르면 대신 채워 줘요: Every 5 minutes, Every hour, Every day at 09:00, Mondays at 09:00, First of the month.
각 호출에 담기는 내용
작업은 응답을 최대 30초까지 기다려요. 모든 호출에는 Briks-Cron/1.0이라는 user-agent와 작업의 id가 담긴 x-briks-cron 헤더가 붙어서, 라우트가 호출이 어디서 왔는지 알 수 있어요. POST 호출은 작업 이름이 담긴 짧은 JSON 메시지도 함께 보내요. JSON은 프로그램이 읽는 일반 텍스트 형식이에요.
{"cron":{"id":"…","name":"Daily digest"},"trigger":"schedule","scheduledFor":"2026-10-09T06:00:00.000Z"}
누군가 Run now를 눌렀다면 trigger는 manual이고, 이때 scheduledFor는 null이에요.
Briks는 사설 네트워크의 주소, 숫자로 쓴 주소, Briks 자체 주소를 호출하지 않아요. 리다이렉트도 따라가지 않으니 최종 주소를 입력하세요. 사이트 안의 라우트를 호출하면 briks.live 주소로 가고, 그 주소를 바꾸면 호출도 바뀐 주소를 따라가요.
Webflow is a visual website platform with a CMS, hosting, interactions, ecommerce and Webflow Cloud app hosting. Its AI site builder turns a prompt into a site with a design system, and other AI features generate sections, copy, code components and CMS items.
Runs에는 최근 30일 동안의 모든 실행이 최신순으로 나와요. 일정에 따른 실행도, 직접 시작한 실행도 포함돼요. 직접 시작한 실행에는 By hand 태그가 붙어요. 작업이 여러 개라면 목록 위의 상자에서 하나를 고르고 Show를 누르세요. 실행을 클릭하면 호출한 메서드와 주소, 오류, 그리고 주소가 응답한 내용의 앞부분을 볼 수 있어요.
| 상태 | 일어난 일 |
|---|---|
| Succeeded | 주소가 웹에서 성공을 뜻하는 코드인 2xx 상태로 응답했어요. |
| Failed | 그 밖의 모든 경우예요: 다른 상태(404는 찾을 수 없음, 500은 뒤에 있는 코드가 실패했다는 뜻이에요), 30초 안에 응답 없음, 리디렉션, 연결할 수 없는 주소. |
| Skipped | 오늘 이 프로젝트의 호출 한도를 모두 썼어요. 실행 기록에는 “오늘 이 프로젝트의 호출을 모두 사용했어요.”라고 나와요. 실행은 자정(UTC) 이후 다시 시작돼요. |
Tasks 보기에서도 한눈에 볼 수 있어요. Next에는 다음 실행 시간이, Last에는 가장 최근 상태가 나오고, 아직 실행하지 않았다면 Not run yet이라고 나와요.
실행이 실패했을 때
실패한 실행은 기록만 남고 다시 시도하지 않아요. 다음 실행은 원래 시각에 이뤄져요. 실행할 수 없는 동안 놓친 실행도 나중에 채우지 않아요. 작업은 한 번만 실행되고 거기서부터 이어져요.
원인을 해결했다면 작업의 점 세 개를 열고 Run now를 선택하세요. 결과가 바로 나타나요. 예를 들면 이래요. Daily digest ran: the address answered 200 in 312 ms. 작업은 한 시간에 최대 20번까지 직접 실행할 수 있고, 실행할 때마다 그날의 호출 횟수에 포함돼요.
| 실행 결과가 알려 주는 것 | 할 일 |
|---|---|
| 404로 응답함 | 해당 경로에 라우트가 없어요. 철자를 확인하고, 그 라우트가 있는 버전이 게시되었는지 확인하세요. |
| 500건 답변 | 라우트 자체가 실패했어요. Logs를 열고 Requests를 선택한 다음, 경로를 검색해 오류를 확인하세요. |
| 30초 안에 답이 없어요. | 작업 하나가 한 번에 하기엔 너무 오래 걸려요. 스튜디오에서 호출 한 번에 처리하는 양을 줄이는 방법을 물어보고, 더 자주 실행하세요. |
| 리디렉션은 따라가지 않아요. 최종 주소를 사용하세요. | 브라우저에서 그 주소를 열어 최종적으로 도착하는 곳을 복사하고, 작업을 그 주소로 바꾸세요. |
| 그 주소는 사설 네트워크를 가리키고 있어서 호출할 수 없어요. | 공개 주소를 사용하세요. Briks는 사설 네트워크에는 절대 접속하지 않아요. |
일시 중지, 변경, 삭제
각 작업 옆의 스위치로 작업을 일시 중지하고(Paused 태그가 나타나요) 다시 시작해요. 점 세 개 메뉴에서 Change를 누르면 Change task라는 제목의 같은 폼이 열리고, Delete를 누르면 작업을 멈추고 실행 기록을 지워요. 이 모두에는 편집 권한이 필요해요.
Settings 보기에는 Download JSON이 있어요. 모든 작업의 이름, 일정, 시간대, 호출 대상이 담긴 파일이에요. 위험 구역에는 Clear history(작업은 계속 실행돼요)와 Delete all(확인하려면 프로젝트 이름을 입력해요)이 있어요. 둘 다 Owner와 Admin만 쓸 수 있어요.
실제 예시
/api/daily-summary 라우트를 추가해서 어제 들어온 예약 요청을 한 통의 메일로 보내 줘.
변경이 게시되면 병원은 이름이 Daily summary이고 일정이 0 7 * * *인 예약 작업을 추가해요. 시간대는 Europe/London이고, POST /api/daily-summary를 호출해요. 매일 아침 일곱 시에 요약이 도착해요.
요약은 사이트 자체 이메일로 발송되는데, 이 이메일은 직접 켜기 전까지 꺼져 있어요. 켜는 방법과 월 발송 한도는 사이트 이메일에서 확인하세요.
/api/tidy-enquiries 경로를 추가해서 90일이 지난 문의를 삭제하게 해 주세요.
Tidy enquiries라는 이름의 작업이 0 23 * * 0으로 실행해요. 매주 일요일 23:00이에요. 월요일에 Runs에는 Succeeded가 표시되고, 실행 기록을 열면 라우트가 돌려준 응답을 볼 수 있어요.
이런 정리를 처음 실행하기 전에 Database 탭 설정에서 복원 지점을 저장하세요. 경로가 필요 이상으로 삭제해도 되돌릴 수 있어요. 백업을 참고하세요.