---
title: "งานตามกำหนดเวลา: รันงานบนเว็บไซต์ตามเวลาที่ตั้ง | Briks"
url: https://briks.dev/th/docs/crons
description: "งานตามกำหนดเวลาบนเว็บไซต์ เช่น สรุปตอนเช้าหรือจัดระเบียบรายสัปดาห์ เขียนตารางเวลา ดูผลแต่ละรอบ แก้รอบที่ล้มเหลว และดูขีดจำกัดของแผน"
last_updated: 2026-10-08
---

# งานตามกำหนดเวลา: รันงานบนเว็บไซต์ตามเวลาที่ตั้ง

งานตามกำหนดเวลาจะรันบางอย่างบนเว็บไซต์ของคุณตามเวลาที่ตั้งไว้โดยไม่ต้องมีใครกดปุ่ม เช่น สรุปทุกเช้า หรือจัดระเบียบทุกคืนวันอาทิตย์ คุณพบได้ใน **Settings** ของโปรเจกต์ ใต้ **Scheduled tasks** หน้านี้แสดงวิธีตั้งงาน อ่านการรัน และแก้งานที่ล้มเหลว

อ่าน 8 นาทีตรวจเทียบกับสตูดิโอเมื่อ 8 ตุลาคม 2569

## งานตามกำหนดเวลาทำอะไร

งานตามกำหนดเวลาคือการเรียกที่ 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 |

จำนวนการเรียกต่อวันใช้ร่วมกันระหว่างการรันงานและความพยายามส่ง webhook และวันใหม่เริ่มตอนเที่ยงคืน UTC

มุมมอง **Tasks** แสดงว่าคุณใช้ไปเท่าไรแล้ว เช่น 2 จาก 5 ตามแพลน และปุ่ม **Add task** จะเป็นสีเทาเมื่อถึงขีดจำกัด จากนั้นลิงก์ **Get more** จะปรากฏข้างตัวเลขและเปิดหน้าต่างอัปเกรด ซึ่งบอกแพลนที่เล็กที่สุดที่ยังมีที่ว่างสำหรับอีกหนึ่งงาน การรันที่จะเกินจำนวนการเรียกของวันนั้นจะถูกทำเครื่องหมายเป็น **Skipped** เปรียบเทียบแพลนได้ที่[การเรียกเก็บเงิน](https://briks.dev/th/docs/billing)

เลือกช่วงเวลาที่เหมาะสม

งานที่ทำทุกนาทีจะเรียกใช้ 1,440 ครั้งต่อวันเพียงงานเดียว ในแพ็กเกจ Free ที่มี 2,000 ครั้งต่อวัน จะเหลือที่ว่างสำหรับอย่างอื่นน้อยมาก ทุก 5 หรือ 15 นาทีก็เพียงพอสำหรับงานส่วนใหญ่ และวันละครั้งก็พอสำหรับการสรุปผล

## เพิ่มงานตามเวลา

1. กด Add task

   ที่ไหน: Settings, Scheduled tasks

   กล่องโต้ตอบ **Add a scheduled task** จะเปิดขึ้น Editor, Admin และ Owner เพิ่มงานได้

2. ตั้งชื่อ

   ที่ไหน: Add a scheduled task

   ตั้งชื่อสั้นๆ ที่คุณจำได้ในรายการการรัน เช่น `สรุปประจำวัน` ไม่เกิน 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 |
| วันธรรมดาเวลา 18:30 | `30 18 * * 1-5` | ทุกวันทำการเวลา 18:30 |
| ทุก 15 นาที | `*/15 * * * *` | ทุก 15 นาที |
| ทุกสองชั่วโมง ตรงต้นชั่วโมง | `0 */2 * * *` | ทุก 2 ชั่วโมง ตรงต้นชั่วโมง |
| คืนวันอาทิตย์ เวลา 23:00 น. | `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 วินาที ทุกการเรียกจะมี `user-agent` เป็น `Briks-Cron/1.0` และส่วนหัว `x-briks-cron` ที่เก็บรหัสของงาน เพื่อให้เส้นทางรู้ว่าการเรียกมาจากที่ใด การเรียกแบบ POST จะส่งข้อความ JSON สั้น ๆ (JSON คือรูปแบบข้อความธรรมดาที่โปรแกรมอ่านได้) ที่ระบุชื่องานด้วย:

เนื้อหาของคำขอ POST

> `{"cron":{"id":"…","name":"Daily digest"},"trigger":"schedule","scheduledFor":"2026-10-09T06:00:00.000Z"}`

`trigger` เป็น `manual` เมื่อมีคนกด **Run now** และในกรณีนั้น `scheduledFor` จะเป็น `null`

Briks จะไม่เรียกที่อยู่ในเครือข่ายส่วนตัว ที่อยู่ที่เขียนเป็นตัวเลข หรือที่อยู่ของ Briks เอง และจะไม่ตามการเปลี่ยนเส้นทาง ดังนั้นโปรดระบุที่อยู่ปลายทางสุดท้าย การเรียกไปยังเส้นทางบนเว็บไซต์ของคุณจะไปที่ที่อยู่ `briks.live` ของเว็บไซต์ และหากคุณเปลี่ยนที่อยู่นั้น การเรียกจะตามไปด้วย

## การรันและความหมายของแต่ละสถานะ

ที่ไหน

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

**Runs** แสดงทุกการรันในสามสิบวันที่ผ่านมา เรียงจากใหม่สุด ทั้งที่รันตามกำหนดและที่เริ่มด้วยตนเอง การรันที่เริ่มด้วยตนเองจะมีป้าย **By hand** หากมีมากกว่าหนึ่งงาน ให้เลือกงานหนึ่งในกล่องเหนือรายการแล้วกด **Show** คลิกการรันเพื่อดูเมธอดและที่อยู่ที่เรียก ข้อผิดพลาด (ถ้ามี) และส่วนต้นของสิ่งที่ที่อยู่นั้นตอบกลับ

| สถานะ | สิ่งที่เกิดขึ้น |
| --- | --- |
| **Succeeded** | ที่อยู่ตอบกลับด้วยสถานะ 2xx ซึ่งเป็นรหัสของเว็บที่หมายถึงสำเร็จ |
| **Failed** | กรณีอื่นทั้งหมด: สถานะอื่น (404 หมายถึงไม่พบ 500 หมายถึงโค้ดเบื้องหลังทำงานล้มเหลว) ไม่มีการตอบกลับภายใน 30 วินาที การเปลี่ยนเส้นทาง หรือที่อยู่ที่เข้าถึงไม่ได้ |
| **Skipped** | โควตาการเรียกใช้ประจำวันของโปรเจกต์ถูกใช้หมดแล้ว การรันแจ้งว่า: Today's calls for this project are used up. Runs start again after midnight (UTC). |

มุมมอง **Tasks** แสดงข้อมูลเดียวกันให้เห็นได้ในพริบตา: **Next** พร้อมเวลาของการรันครั้งถัดไป, **Last** พร้อมสถานะล่าสุด หรือ **Not run yet**

## เมื่อการรันล้มเหลว

การรันที่ล้มเหลวจะถูกบันทึกไว้และไม่ถูกรันซ้ำ การรันครั้งถัดไปจะมาตามเวลาปกติ การรันที่พลาดไปขณะที่ไม่มีอะไรรันงานได้ก็จะไม่ถูกชดเชยเช่นกัน งานจะรันหนึ่งครั้งแล้วดำเนินต่อไปตามปกติ

เมื่อแก้สาเหตุแล้ว ให้เปิดจุดสามจุดของงานและเลือก **Run now** ผลลัพธ์จะแสดงทันที เช่น สรุปประจำวันรันแล้ว: ที่อยู่ตอบกลับ 200 ใน 312 ms คุณสั่งรันงานด้วยตนเองได้สูงสุด 20 ครั้งต่อชั่วโมง และแต่ละครั้งนับรวมในจำนวนการเรียกของวันนั้น

| ผลที่การรันแจ้ง | สิ่งที่ต้องทำ |
| --- | --- |
| ตอบกลับ 404 | ไม่มีเส้นทางที่ตำแหน่งนั้น ตรวจการสะกด และตรวจว่าเวอร์ชันที่มีเส้นทางนี้ได้เผยแพร่แล้ว |
| ตอบไปแล้ว 500 | เส้นทางนั้นเองล้มเหลว เปิด [Logs](https://briks.dev/th/docs/logs) เลือก **Requests** แล้วค้นหาพาธเพื่ออ่านข้อผิดพลาด |
| ไม่มีคำตอบภายใน 30 วินาที | งานใช้เวลานานเกินไปในครั้งเดียว ให้ขอในสตูดิโอถึงวิธีที่ทำน้อยลงต่อการเรียกหนึ่งครั้ง แล้วรันให้บ่อยขึ้น |
| ระบบไม่ตามการเปลี่ยนเส้นทาง ให้ใช้ที่อยู่ปลายทางสุดท้าย | เปิดที่อยู่ในเบราว์เซอร์ คัดลอกปลายทางที่ไปถึง แล้วเปลี่ยนงานให้ใช้ที่อยู่นั้น |
| ที่อยู่นี้ชี้ไปยังเครือข่ายส่วนตัวและไม่สามารถเรียกใช้ได้ | ใช้ที่อยู่สาธารณะ Briks ไม่เรียกเข้าไปในเครือข่ายส่วนตัวเลย |

ทำให้งานรันซ้ำได้อย่างปลอดภัย

ใครก็ตามที่รู้ที่อยู่ของเส้นทางสามารถเรียกใช้ได้ และคุณจะกด **Run now** ระหว่างทดสอบ ควรขอเส้นทางที่ไม่ก่อความเสียหายเมื่อรันซ้ำสองครั้ง เช่น ล้างเรกคอร์ดที่เก่ากว่า 90 วัน แทนการลบ 50 รายการที่เก่าที่สุด

## หยุดชั่วคราว เปลี่ยน หรือลบ

สวิตช์ข้างแต่ละงานใช้หยุดงานชั่วคราว (จะมีป้าย **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 เท่านั้น

## ตัวอย่างการใช้งานจริง

ถามในสตูดิโอ สรุปรายวันสำหรับคลินิกกายภาพบำบัด

> เพิ่ม route ที่ /api/daily-summary เพื่ออีเมลคำขอนัดหมายของเมื่อวานมาให้ฉันในข้อความเดียว

หลังจากเผยแพร่การเปลี่ยนแปลงแล้ว คลินิกจะเพิ่มงานตามเวลาชื่อ `Daily summary` ด้วยตารางเวลา `0 7 * * *` เขตเวลา Europe/London เรียก POST `/api/daily-summary` ทุกเช้าเวลาเจ็ดโมง สรุปจะมาถึง

สรุปจะส่งผ่านอีเมลของเว็บไซต์เอง ซึ่งจะปิดอยู่จนกว่าคุณจะเปิดใช้งาน ดูวิธีเปิดและโควตารายเดือนได้ที่ [อีเมลของเว็บไซต์](https://briks.dev/th/docs/site-email)

ถามในสตูดิโอ การล้างระเบียนเก่าสำหรับเอเจนซีสอนพิเศษ

> เพิ่มเส้นทางที่ /api/tidy-enquiries ซึ่งลบคำถามที่เก่ากว่า 90 วัน

งานชื่อ `จัดระเบียบข้อซักถาม` รันด้วย `0 23 * * 0` คือทุกวันอาทิตย์เวลา 23:00 ในวันจันทร์ **Runs** จะแสดง **Succeeded** และเมื่อเปิดรอบการรันจะเห็นสิ่งที่เส้นทางตอบกลับมา

ก่อนการล้างข้อมูลแบบนี้ทำงานเป็นครั้งแรก ให้บันทึกจุดคืนค่าในการตั้งค่าของแท็บ Database หากเส้นทางลบมากกว่าที่ควร คุณจะย้อนกลับได้ ดู [การสำรองข้อมูล](https://briks.dev/th/docs/backups)

## อ่านต่อ

- [ข้อมูลและระบบอัตโนมัติ**เว็บฮุก** ส่งข้อความที่ลงลายเซ็นไปยังเครื่องมืออื่นเมื่อเว็บไซต์เผยแพร่ ส่งแบบฟอร์ม หรือระเบียนเปลี่ยน อธิบายเพย์โหลด ลายเซ็น การลองใหม่ และการส่ง](https://briks.dev/th/docs/webhooks)
- [ข้อมูลและระบบอัตโนมัติ**บันทึก** อ่านบันทึกการสร้างและคำขอของเว็บไซต์ในรอบวันล่าสุด กรองตามระดับหรือสถานะ และหาสาเหตุของแบบฟอร์ม งาน หรือหน้าเว็บที่ช้าหรือทำงานล้มเหลว](https://briks.dev/th/docs/logs)
- [ฟีเจอร์ของเว็บไซต์คุณ **อีเมลของเว็บไซต์** ให้เว็บไซต์ส่งอีเมลยืนยันและอีเมลตอบกลับจากที่อยู่ของตัวเองบน emails.briks.live เลือกปลายทางของการตอบกลับ และติดตามการส่งเทียบกับโควตารายเดือน](https://briks.dev/th/docs/site-email)
- [ข้อมูลและระบบอัตโนมัติ**ฐานข้อมูล** ดูว่าเว็บไซต์เก็บข้อมูลอะไร แก้ไขและเพิ่มเรคคอร์ดเอง ดาวน์โหลดคอลเลกชันเป็น JSON หรือ CSV พร้อมสิทธิ์ของแต่ละคนและข้อจำกัด](https://briks.dev/th/docs/database)

ยังติดปัญหาอยู่ไหม

เขียนถึง [hello@briks.dev](mailto:hello@briks.dev) พร้อมชื่อโปรเจกต์และสิ่งที่คุณคาดว่าจะเห็น ภาพหน้าจอช่วยได้
