งานตามกำหนดเวลา: รันงานบนเว็บไซต์ตามเวลาที่ตั้ง
งานตามกำหนดเวลาจะรันบางอย่างบนเว็บไซต์ของคุณตามเวลาที่ตั้งไว้โดยไม่ต้องมีใครกดปุ่ม เช่น สรุปทุกเช้า หรือจัดระเบียบทุกคืนวันอาทิตย์ คุณพบได้ใน 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 แสดงว่าคุณใช้ไปเท่าไรแล้ว เช่น 2 จาก 5 ตามแพลน และปุ่ม Add task จะเป็นสีเทาเมื่อถึงขีดจำกัด จากนั้นลิงก์ Get more จะปรากฏข้างตัวเลขและเปิดหน้าต่างอัปเกรด ซึ่งบอกแพลนที่เล็กที่สุดที่ยังมีที่ว่างสำหรับอีกหนึ่งงาน การรันที่จะเกินจำนวนการเรียกของวันนั้นจะถูกทำเครื่องหมายเป็น Skipped เปรียบเทียบแพลนได้ที่การเรียกเก็บเงิน
เพิ่มงานตามเวลา
กด Add task
ที่ไหน: Settings, Scheduled tasks
กล่องโต้ตอบ Add a scheduled task จะเปิดขึ้น Editor, Admin และ Owner เพิ่มงานได้
ตั้งชื่อ
ที่ไหน: Add a scheduled task
ตั้งชื่อสั้นๆ ที่คุณจำได้ในรายการการรัน เช่น
สรุปประจำวันไม่เกิน 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 |
| วันธรรมดาเวลา 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
สิ่งที่แต่ละการเรียกใช้ต้องใช้
งานจะรอคำตอบได้นานสุด 30 วินาที ทุกการเรียกจะมี user-agent เป็น Briks-Cron/1.0 และส่วนหัว x-briks-cron ที่เก็บรหัสของงาน เพื่อให้เส้นทางรู้ว่าการเรียกมาจากที่ใด การเรียกแบบ POST จะส่งข้อความ JSON สั้น ๆ (JSON คือรูปแบบข้อความธรรมดาที่โปรแกรมอ่านได้) ที่ระบุชื่องานด้วย:
{"cron":{"id":"…","name":"Daily digest"},"trigger":"schedule","scheduledFor":"2026-10-09T06:00:00.000Z"}
trigger เป็น manual เมื่อมีคนกด Run now และในกรณีนั้น scheduledFor จะเป็น null
Briks จะไม่เรียกที่อยู่ในเครือข่ายส่วนตัว ที่อยู่ที่เขียนเป็นตัวเลข หรือที่อยู่ของ Briks เอง และจะไม่ตามการเปลี่ยนเส้นทาง ดังนั้นโปรดระบุที่อยู่ปลายทางสุดท้าย การเรียกไปยังเส้นทางบนเว็บไซต์ของคุณจะไปที่ที่อยู่ briks.live ของเว็บไซต์ และหากคุณเปลี่ยนที่อยู่นั้น การเรียกจะตามไปด้วย
การรันและความหมายของแต่ละสถานะ
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 เลือก Requests แล้วค้นหาพาธเพื่ออ่านข้อผิดพลาด |
| ไม่มีคำตอบภายใน 30 วินาที | งานใช้เวลานานเกินไปในครั้งเดียว ให้ขอในสตูดิโอถึงวิธีที่ทำน้อยลงต่อการเรียกหนึ่งครั้ง แล้วรันให้บ่อยขึ้น |
| ระบบไม่ตามการเปลี่ยนเส้นทาง ให้ใช้ที่อยู่ปลายทางสุดท้าย | เปิดที่อยู่ในเบราว์เซอร์ คัดลอกปลายทางที่ไปถึง แล้วเปลี่ยนงานให้ใช้ที่อยู่นั้น |
| ที่อยู่นี้ชี้ไปยังเครือข่ายส่วนตัวและไม่สามารถเรียกใช้ได้ | ใช้ที่อยู่สาธารณะ Briks ไม่เรียกเข้าไปในเครือข่ายส่วนตัวเลย |
หยุดชั่วคราว เปลี่ยน หรือลบ
สวิตช์ข้างแต่ละงานใช้หยุดงานชั่วคราว (จะมีป้าย Paused ปรากฏ) และเริ่มใหม่ ในเมนูสามจุดของงาน Change เปิดฟอร์มเดียวกัน ชื่อ Change task และ Delete หยุดงานและลบประวัติการรัน ทั้งหมดนี้ต้องมีสิทธิ์แก้ไข
มุมมอง Settings มี Download JSON ซึ่งเป็นไฟล์ที่มีชื่อ ตารางเวลา เขตเวลา และสิ่งที่งานเรียกของทุกงาน โซนอันตรายมี Clear history (งานยังคงทำงานต่อ) และ Delete all (พิมพ์ชื่อโปรเจกต์เพื่อยืนยัน) ทั้งสองอย่างสำหรับ Owner และ Admin เท่านั้น
ตัวอย่างการใช้งานจริง
เพิ่ม route ที่ /api/daily-summary เพื่ออีเมลคำขอนัดหมายของเมื่อวานมาให้ฉันในข้อความเดียว
หลังจากเผยแพร่การเปลี่ยนแปลงแล้ว คลินิกจะเพิ่มงานตามเวลาชื่อ Daily summary ด้วยตารางเวลา 0 7 * * * เขตเวลา Europe/London เรียก POST /api/daily-summary ทุกเช้าเวลาเจ็ดโมง สรุปจะมาถึง
สรุปจะส่งผ่านอีเมลของเว็บไซต์เอง ซึ่งจะปิดอยู่จนกว่าคุณจะเปิดใช้งาน ดูวิธีเปิดและโควตารายเดือนได้ที่ อีเมลของเว็บไซต์
เพิ่มเส้นทางที่ /api/tidy-enquiries ซึ่งลบคำถามที่เก่ากว่า 90 วัน
งานชื่อ จัดระเบียบข้อซักถาม รันด้วย 0 23 * * 0 คือทุกวันอาทิตย์เวลา 23:00 ในวันจันทร์ Runs จะแสดง Succeeded และเมื่อเปิดรอบการรันจะเห็นสิ่งที่เส้นทางตอบกลับมา
ก่อนการล้างข้อมูลแบบนี้ทำงานเป็นครั้งแรก ให้บันทึกจุดคืนค่าในการตั้งค่าของแท็บ Database หากเส้นทางลบมากกว่าที่ควร คุณจะย้อนกลับได้ ดู การสำรองข้อมูล