บทที่ 6

ระบบอัตโนมัติ

งานที่เกิดขึ้นได้เองโดยไม่ต้องมีใครขอ ทั้งงานตามตารางเวลาที่ตรงเวลาเป๊ะ การตรวจเช็กซ้ำแบบเบา ๆ และรายงานที่เขียนตัวเองได้

ทุกบท

เครื่องมือไหนเหมาะกับงานไหน

งานตามกำหนดเวลาการตรวจแบบฮาร์ตบีต
ทำงานตรงเวลาที่กำหนด ตามเขตเวลาที่คุณเลือกตามช่วงเวลาที่ตรวจสอบซ้ำ ค่าเริ่มต้นคือทุกชั่วโมง
เหมาะที่สุดสำหรับสรุปข่าวเก้าโมงเช้า รายงานวันศุกร์ การเตือนความจำครั้งเดียวจบการตรวจแบบ “มีอะไรเปลี่ยนไปไหม” ที่ยอมรับความคลาดเคลื่อนได้บ้าง
ประวัติบันทึกความสำเร็จหรือความล้มเหลวของแต่ละครั้งที่รันจะปรากฏก็ต่อเมื่อการตรวจสอบเจออะไรบางอย่างเท่านั้น
จัดการได้ที่ตัว ตารางงาน และ ปฏิทิน ส่วนต่าง ๆการ์ด ฮาร์ตบีต ของเอเจนต์ และไฟล์การตรวจสอบของมัน

ใช้งานตามตารางเวลาเมื่อเวลาที่แน่นอนสำคัญ ใช้การตรวจแบบ Heartbeat เมื่อคำถามสำคัญแต่นาทีที่แน่นอนไม่สำคัญ และเมื่อคุณอยากรวมการตรวจเล็ก ๆ นับสิบอย่างไว้ด้วยกัน แทนที่จะสร้างงานแยกเป็นสิบงาน

การสร้างงานตามตารางเวลา

  1. เปิด Scheduler แล้วกดงานใหม่ เลือก ประเภทตารางเวลา ก่อน: ทำซ้ำ หรือ ครั้งเดียว.
  2. สร้างตารางเวลาได้โดยไม่ต้องใช้ cron แบบทำซ้ำมีตัวเลือก Minutes (ทุก N นาที) Hourly (ทุก N ชั่วโมง ที่นาทีที่เลือกไว้หลังชั่วโมงนั้น) Daily Weekly (สลับเปิดวันในสัปดาห์) Monthly (วันที่ในเดือน) หรือ Custom แบบ cron ดิบสำหรับผู้ใช้ขั้นสูง ส่วนแบบครั้งเดียวใช้ตัวเลือกวันที่และเวลาจริง จำกัดเฉพาะวันที่ในอนาคต ทุกอย่างละเอียดถึงระดับนาที
  3. ตรวจดูคำสรุปแบบภาษาคนธรรมดา ขณะที่คุณแก้ไข ตัวสร้างจะเขียนสรุปว่ามันจะทำอะไร เช่น “รันทุก 2 ชั่วโมงที่นาที 20” “รันครั้งเดียวในวันศุกร์ที่ 19 มิถุนายน เวลา 09:00” ถ้าประโยคนั้นไม่ตรงกับที่คุณตั้งใจไว้ ให้แก้ไขก่อนบันทึก เพราะตารางเวลาที่ไม่ครบหรือเป็นวันที่ผ่านมาแล้วจะบันทึกไม่ได้อยู่ดี
  4. เลือกเขตเวลา รายการเขตเวลาทั้งหมดที่ค้นหาได้ พร้อมค่าชดเชยปัจจุบันของแต่ละเขต ค่าเริ่มต้นจะเป็นเขตเวลาของคุณเองแทนที่จะเป็น UTC โดยปักเขตเวลาของคุณและ UTC ไว้บนสุด
  5. เขียนข้อความที่เอเจนต์จะได้รับ นี่คือพรอมป์ตที่จะถูกส่งออกไป เอเจนต์จะอ่านมันเป็นคำสั่ง เหมือนกับที่คุณพิมพ์มันในแชตเลย
  6. เลือกเอเจนต์แล้วบันทึก งานเป็นของเอเจนต์ตัวเดียวเสมอ และตัวเลขบนแบดจ์ Scheduler ในแถบด้านข้างจะนับงานที่ยังทำงานอยู่ทั้งหมดของทุกเอเจนต์

การจัดการงาน

งานทุกงานมีแบดจ์บอกที่มา บันทึกแล้ว หมายความว่ามันถูกสร้างที่นี่ (หรือโดยเอเจนต์ที่ขอให้ตั้งเวลาบางอย่าง) การตั้งค่า หมายความว่ามันฝังอยู่ในการตั้งค่าของเอเจนต์เอง มักเป็นส่วนหนึ่งของต้นแบบที่คุณติดตั้งไว้ ทั้งสองแบบจัดการได้ครบจากรายการนี้ ทั้งหยุดชั่วคราว ทำต่อ แก้ไขชื่อ ข้อความหรือตารางเวลา และลบทิ้ง งาน Config จะเขียนย้อนกลับเข้าไปในการตั้งค่าของเอเจนต์และมีผลทันที

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

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

หมายเหตุ

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

มุมมองปฏิทิน

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

คลิกที่การปรากฏใด ๆ ก็ได้เพื่อเปิดกล่องโต้ตอบงานแบบเดียวกับที่ Scheduler ใช้ ทั้งรายละเอียด แก้ไข ประวัติ และลบ ตัวกรองสามารถซ่อนงานแบบทำซ้ำหรือแบบครั้งเดียวได้ และตัวกรองเอเจนต์จะจำกัดให้เหลือเฉพาะเอเจนต์ที่คุณสนใจ คุณยังตั้งเวลาได้โดยตรงจากตารางกริดด้วย ปุ่มประจำวัน + จะกรอกข้อมูลล่วงหน้าให้เป็นการรันครั้งเดียวเวลา 09:00 ของวันนั้น

ปฏิทินเป็นมุมมองที่ดีกว่าสำหรับจับตาการชนกันของตารางเวลา เช่น เอเจนต์สามตัวรายงานพร้อมกันตอน 9 โมงเช้า หรือวันจันทร์ที่ไม่มีอะไรเลย

การตรวจแบบฮาร์ตบีต

Heartbeat คือน้องเบา ๆ ของ Scheduler เป็นรายการการตรวจที่ทำซ้ำซึ่งเอเจนต์จะไล่ตรวจตามช่วงเวลาโพลลิ่งตราบใดที่รันไทม์ยังทำงานอยู่ โดยค่าเริ่มต้นคือทุกชั่วโมง เปิดใช้งานแล้วเลือกช่วงเวลาได้จากการ์ด ฮาร์ตบีต ในแท็บ Overview ของเอเจนต์ การเปลี่ยนแปลงจะมีผลทันทีโดยไม่ต้องรีสตาร์ท และ “ค่าเริ่มต้นของระบบ” จะรับค่าตั้งต้นที่ใช้กับทั้งระบบมา

การตรวจเหล่านี้เองไม่มีแบบฟอร์มในแดชบอร์ด จัดการมันได้โดยแก้ไขไฟล์รายการตรวจของเอเจนต์ ซึ่งอยู่ใน ไฟล์ หรือง่ายกว่านั้นมากคือขอให้เอเจนต์ทำในแชต เช่น “เพิ่มการตรวจ Heartbeat ว่านำเข้าข้อมูลช่วงกลางคืนเสร็จหรือยัง” “ตรวจ Heartbeat ทุก 15 นาที” “ปิดการโพลของ Heartbeat” เอเจนต์มีเครื่องมือไว้สำหรับสิ่งนี้โดยเฉพาะ

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

รายงานประจำรอบ

การรายงานบางส่วนมีมาให้ในตัวอยู่แล้ว Insights เก็บบันทึกการทำงานที่ไล่ดูได้ทีละวัน พร้อมสรุปแยกตามเอเจนต์เรียงลำดับความสำคัญ และคำสรุปเป็นตัวหนังสือแบบเลือกได้ว่าเกิดอะไรขึ้นจริง ๆ ทั้งบทสนทนาที่จัดการไป งานตามตารางเวลาที่เสร็จแล้ว การตรวจที่รันไป การส่งต่องานระหว่างเอเจนต์ ตัวสลับ Daily / Weekly / Monthly ใช้สลับระหว่างมุมมองรายวันกับรายงานสรุปรวม ซึ่งจะสร้างขึ้นเองทุกสัปดาห์และทุกเดือน

สรุปของวันล่าสุดยังปรากฏบน ภาพรวม ในชื่อ ไฮไลต์ประจำวัน ที่เขียนขึ้นอัตโนมัติทุกเช้าสำหรับวันที่เพิ่งจบไป พร้อมปุ่มให้สร้างของวันนี้ใหม่ได้ตามต้องการ

อะไรก็ตามที่เกินจากนั้นคืองานตามตารางเวลา “ทุกวันจันทร์ 8 โมงเช้า สรุปบทสนทนาฝ่ายซัพพอร์ตของสัปดาห์ที่แล้วแล้วอีเมลให้ทีม” คืองานเดียวที่มีพรอมป์ตเดียว และเอเจนต์ก็มีเครื่องมือทำแต่ละส่วนอยู่แล้ว

การเขียนงานที่ใช้งานได้จริง

  • บอกให้ชัดว่าต้องทำอะไรและเอาไปไว้ที่ไหน “ตรวจราคาของคู่แข่ง” ปล่อยให้เอเจนต์ต้องเดาเองว่าจะเอาผลไปไว้ที่ไหน ส่วน “ตรวจหน้าคู่แข่งสามหน้าที่ระบุไว้ในฐานความรู้ แล้วโพสต์สรุปลงช่อง Slack ของทีม” ไม่ต้องเดา
  • บอกด้วยว่าถ้าไม่มีอะไรจะรายงาน ควรทำตัวอย่างไร สำหรับงานเฝ้าติดตาม บอกเอเจนต์ให้เงียบไว้เมื่อไม่มีอะไรต้องรายงาน ไม่งั้นคุณจะได้ข้อความทุกวันที่บอกแค่ว่าไม่มีอะไรเกิดขึ้น แล้วสุดท้ายคุณจะเริ่มเมินช่องนั้นไปเลย
  • ทดสอบด้วยปุ่มรันตอนนี้ จากนั้นอ่านรายการในประวัติการรันและบทสนทนาที่เกิดขึ้น ก่อนที่จะเชื่อใจตารางเวลานั้น
  • ระวังเรื่องเขตเวลา เขตเวลากำหนดแยกตามแต่ละงาน ทีมที่กระจายอยู่หลายสาขาควรตกลงกันใช้เขตเวลาเดียวสำหรับรายงาน แทนที่จะตั้งแต่ละงานตามเวลาท้องถิ่นของผู้สร้างงานนั้น
  • เตรียมใจว่าอาจต้องรออนุมัติ ถ้าการรันตามตารางเวลาไปเจอเครื่องมือที่ต้องการคนตัดสินใจ มันจะหยุดรอ และคำขอจะไปอยู่ในกล่องรออนุมัติบน Overview โดยจะไม่เดินหน้าต่อแบบไม่มีใครดูแล ดูเพิ่มเติมที่ บทที่ 8.

มีสิ่งหนึ่งที่จงใจไม่จำกัดไว้ นั่นคือการจำกัดอัตราข้อความจะใช้กับข้อความขาเข้าจากคนเท่านั้น ไม่ใช่กับงานตามตารางเวลาหรืองานอัตโนมัติ ตารางงานที่แน่นแค่ไหนก็จะไม่ทำให้เอเจนต์ของคุณถูกล็อกออกจากกล่องข้อความของตัวเอง