---
title: "예약 작업: 정해진 시간에 실행 | Briks"
url: https://briks.dev/ko/docs/crons
description: "예약 작업으로 정해진 시간에 사이트 작업을 실행해요. 일정 작성, 실행 결과 확인, 실패 해결, 플랜 한도까지 안내해요."
last_updated: 2026-10-08
---

# 예약 작업: 정해진 시간에 실행

예약 작업은 아무도 버튼을 누르지 않아도 정해진 시간에 사이트에서 무언가를 실행해요. 매일 아침 요약을 만들거나, 일요일 밤마다 정리하는 일 같은 거예요. 프로젝트의 **Settings**, **Scheduled tasks** 에서 찾을 수 있어요. 이 페이지에서는 작업을 설정하고, 실행 내역을 확인하고, 실패한 작업을 고치는 방법을 알려 드려요.

읽는 데 8분 2026년 10월 8일 스튜디오 기준으로 확인함

## 예약 작업이 하는 일

예약 작업은 Briks가 일정에 따라 하는 호출이에요. 사이트의 **라우트** (페이지를 보여주는 대신 코드를 실행하는 `/api/` 아래 주소)나, 사용 중인 서비스 같은 다른 공개 https 주소를 호출해요. 실제 일은 그 주소가 해요. Briks는 정해진 시간에 호출하고 돌아온 응답을 기록해요.

그래서 작업에는 호출할 대상이 필요해요. 사이트에 해당 작업용 라우트가 아직 없다면, 먼저 스튜디오에서 만들어 달라고 요청한 다음 작업이 그 라우트를 가리키게 하세요. 작업이 아직 없으면 페이지에 **No scheduled tasks** 라고 표시되고, 일일 요약 보내기, 오래된 기록 정리하기, 다른 서비스와 동기화하기 같은 흔한 작업을 요약해서 보여줘요.

작업은 사이트가 게시되어 있든 아니든, 정한 시각에 선택한 시간대 기준으로 실행돼요. 이 섹션에는 **Tasks**, **Runs**, **Settings** 의 세 가지 보기가 있어요.

어디에

1. Projects
2. Your project
3. Settings
4. Scheduled tasks

## 요금제별 한도

| 요금제 | 프로젝트당 예약 작업 수 | 모든 대시보드 플랜이 정하는 세 가지 |
| --- | --- | --- |
| Free | 1 | 2,000 |
| Starter | 5 | 5,000 |
| Pro | 10 | 10,000 |
| Studio | 25 | 50,000 |
| Agency | 50 | 100,000 |

하루 호출 수는 작업 실행과 웹훅 전송 시도가 함께 나눠 쓰고, 하루는 자정(UTC)에 시작해요.

**Tasks** 보기에서는 요금제 기준으로 지금 어디까지 썼는지, 예를 들어 5개 중 2개를 볼 수 있어요. 한도에 이르면 **Add task** 가 회색으로 바뀌어요. 그러면 개수 옆에 **Get more** 링크가 나타나고, 이 링크는 업그레이드 창을 열어 작업 하나를 더 추가할 수 있는 가장 작은 요금제를 알려 줘요. 그날의 호출 한도를 넘게 되는 실행은 **Skipped** 로 표시돼요. 요금제 비교는 [결제](https://briks.dev/ko/docs/billing) 에서 볼 수 있어요.

알맞은 간격 고르기

1분마다 실행되는 작업은 그것만으로 하루 1,440번 호출해요. 하루 2,000번 호출되는 Free 요금제에서는 다른 일에 쓸 여유가 거의 없어요. 대부분의 작업은 5분이나 15분마다면 충분하고, 요약은 하루에 한 번이면 돼요.

## 예약 작업 추가하기

1. Add task 누르기

   위치: Settings, Scheduled tasks

   **Add a scheduled task** 창이 열려요. 작업은 Editor, Admin, Owner가 추가할 수 있어요.

2. 이름 짓기

   위치: Add a scheduled task

   실행 목록에서 알아볼 수 있는 짧은 이름을 붙이세요. 예: `Daily digest`. 최대 60자예요.

3. 일정 정하기

   위치: Add a scheduled task

   **Schedule** 에 일정을 입력하거나 그 아래 버튼 중 하나를 누르세요. 형식은 다음 섹션에서 설명해요.

4. 시간대 고르기

   위치: Add a scheduled task

   **Time zone** 은 처음에 내가 있는 곳으로 설정돼요. 아래 상자에 일정이 말로 풀어져 나오고 그 시간대 기준으로 다음 다섯 번의 실행 시각도 보여줘서, 저장하기 전에 확인할 수 있어요.

5. 무엇을 부르는지 적어 주세요

   위치: Add a scheduled task

   **What it calls** 아래에서 **A route on this site** 를 고르고 `/api/`로 시작하는 경로를 입력하거나, **Another address** 를 고르고 전체 https 주소를 입력하세요. 경로를 고르면 입력란 아래 안내에 호출될 전체 주소가 표시돼요.

6. POST 또는 GET 선택하기

   위치: Add a scheduled task

   **POST** 는 호출과 함께 짧은 메시지를 보내요. 작업용으로 만든 대부분의 경로가 이 방식을 기대해요. **GET** 은 주소만 요청해요. 잘 모르겠다면 POST로 두세요.

7. 저장

   위치: 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**.

두 가지 세부 사항

날짜와 요일을 둘 다 제한하면, 둘 중 하나라도 맞는 날에 실행돼요. 시계가 바뀔 때 같은 시각이 두 번 있으면 한 번만 실행하고, 시계가 건너뛴 시각은 바뀐 직후에 실행해요. 그래서 매일 02:30에 하는 작업이 빠지는 일은 없어요.

## 각 호출에 담기는 내용

작업은 응답을 최대 30초까지 기다려요. 모든 호출에는 `Briks-Cron/1.0`이라는 `user-agent`와 작업의 id가 담긴 `x-briks-cron` 헤더가 붙어서, 라우트가 호출이 어디서 왔는지 알 수 있어요. POST 호출은 작업 이름이 담긴 짧은 JSON 메시지도 함께 보내요. JSON은 프로그램이 읽는 일반 텍스트 형식이에요.

POST 호출의 본문

> `{"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.

어디에

1. Projects
2. Your project
3. Settings
4. Scheduled tasks
5. Runs

**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](https://briks.dev/ko/docs/logs) 를 열고 **Requests** 를 선택한 다음, 경로를 검색해 오류를 확인하세요. |
| 30초 안에 답이 없어요. | 작업 하나가 한 번에 하기엔 너무 오래 걸려요. 스튜디오에서 호출 한 번에 처리하는 양을 줄이는 방법을 물어보고, 더 자주 실행하세요. |
| 리디렉션은 따라가지 않아요. 최종 주소를 사용하세요. | 브라우저에서 그 주소를 열어 최종적으로 도착하는 곳을 복사하고, 작업을 그 주소로 바꾸세요. |
| 그 주소는 사설 네트워크를 가리키고 있어서 호출할 수 없어요. | 공개 주소를 사용하세요. Briks는 사설 네트워크에는 절대 접속하지 않아요. |

작업을 반복해도 안전하게 만들기

경로의 주소를 아는 사람은 누구나 그 경로를 호출할 수 있고, 테스트할 때는 **Run now** 를 누르게 돼요. 두 번 실행해도 해가 없는 경로를 요청하세요. 예를 들어 가장 오래된 50개를 지우는 대신 90일이 지난 레코드를 지우는 식이에요.

## 일시 중지, 변경, 삭제

각 작업 옆의 스위치로 작업을 일시 중지하고(**Paused** 태그가 나타나요) 다시 시작해요. 점 세 개 메뉴에서 **Change** 를 누르면 **Change task** 라는 제목의 같은 폼이 열리고, **Delete** 를 누르면 작업을 멈추고 실행 기록을 지워요. 이 모두에는 편집 권한이 필요해요.

어디에

1. Projects
2. Your project
3. Settings
4. Scheduled tasks
5. Settings

**Settings** 보기에는 **Download JSON** 이 있어요. 모든 작업의 이름, 일정, 시간대, 호출 대상이 담긴 파일이에요. 위험 구역에는 **Clear history** (작업은 계속 실행돼요)와 **Delete all** (확인하려면 프로젝트 이름을 입력해요)이 있어요. 둘 다 Owner와 Admin만 쓸 수 있어요.

## 실제 예시

스튜디오에서 한 질문 물리치료 클리닉의 일일 요약

> /api/daily-summary 라우트를 추가해서 어제 들어온 예약 요청을 한 통의 메일로 보내 줘.

변경이 게시되면 병원은 이름이 `Daily summary`이고 일정이 `0 7 * * *`인 예약 작업을 추가해요. 시간대는 Europe/London이고, POST `/api/daily-summary`를 호출해요. 매일 아침 일곱 시에 요약이 도착해요.

요약은 사이트 자체 이메일로 발송되는데, 이 이메일은 직접 켜기 전까지 꺼져 있어요. 켜는 방법과 월 발송 한도는 [사이트 이메일](https://briks.dev/ko/docs/site-email) 에서 확인하세요.

스튜디오에서 한 질문 학원의 오래된 기록 정리하기

> /api/tidy-enquiries 경로를 추가해서 90일이 지난 문의를 삭제하게 해 주세요.

`Tidy enquiries`라는 이름의 작업이 `0 23 * * 0`으로 실행해요. 매주 일요일 23:00이에요. 월요일에 **Runs** 에는 **Succeeded** 가 표시되고, 실행 기록을 열면 라우트가 돌려준 응답을 볼 수 있어요.

이런 정리를 처음 실행하기 전에 Database 탭 설정에서 복원 지점을 저장하세요. 경로가 필요 이상으로 삭제해도 되돌릴 수 있어요. [백업](https://briks.dev/ko/docs/backups) 을 참고하세요.

## 다음 글 읽기

- [데이터와 자동화 **웹훅** 사이트 게시, 양식 전송, 레코드 변경 때 다른 도구로 서명된 메시지를 보내요. 페이로드, 서명, 재시도, 전송 내역을 설명해요.](https://briks.dev/ko/docs/webhooks)
- [데이터와 자동화 **로그** 빌드 로그와 최근 하루의 사이트 요청을 읽고, 수준이나 상태로 걸러 실패하는 폼과 작업, 느린 페이지를 찾아요.](https://briks.dev/ko/docs/logs)
- [사이트 기능 **사이트 이메일** 사이트가 emails.briks.live의 자체 주소로 확인 메일과 답장을 보내요. 답장 받을 곳을 정하고 월 한도 대비 발송량을 확인해요.](https://briks.dev/ko/docs/site-email)
- [데이터와 자동화 **데이터베이스** 사이트에 저장된 데이터를 찾고, 레코드를 직접 수정·추가하고, JSON이나 CSV로 내려받아요. 권한과 한도도 안내해요.](https://briks.dev/ko/docs/database)

아직 해결되지 않았나요?

프로젝트 이름과 기대했던 내용을 적어 [hello@briks.dev](mailto:hello@briks.dev) 로 보내 주세요. 스크린샷이 있으면 도움이 돼요.
