Lịch cron
Bestie có thể chạy tác vụ theo lịch mà không cần gắn trực tiếp với một kênh chat. Dùng cron schedules cho reminder chính xác, kiểm tra định kỳ và automation nền cần chạy theo thời gian định sẵn.
Cron schedules được lưu trong SQLite memory store local. Scheduler chạy mỗi job đến hạn như một Bestie chat turn riêng, dùng prompt đã lưu trong schedule.
Khi nào nên dùng cron schedules
Phần tiêu đề “Khi nào nên dùng cron schedules”Dùng cron schedules khi tác vụ cần thời điểm chạy rõ ràng:
- Check-in hằng ngày hoặc hằng tuần.
- Nhắc việc đúng giờ.
- Kiểm tra project, inbox hoặc hệ thống định kỳ.
- Agent turn chạy nền độc lập với Telegram, CLI hoặc web session.
Với các follow-up phụ thuộc nhiều vào ngữ cảnh chat gần đây, tương tác qua channel bình thường vẫn có thể phù hợp hơn.
Kiểu lịch
Phần tiêu đề “Kiểu lịch”| Type | Value | Dùng khi |
|---|---|---|
interval |
30s, 5m, 1h, 2d |
Lặp theo khoảng thời gian. |
cron_expr |
0 8 * * * |
Lịch 5 trường kiểu cron. |
once |
2026-12-25T08:00:00Z |
Chạy một lần tại timestamp ISO trong tương lai. |
Interval phải dương và không dài hơn 365 ngày. Cron expression dùng 5 trường: phút, giờ, ngày trong tháng, tháng, ngày trong tuần.
Tạo lịch
Phần tiêu đề “Tạo lịch”Interactive:
bestie cron addHoặc truyền đủ giá trị:
bestie cron add \ --name daily-priority-check \ --type cron_expr \ --schedule "0 9 * * *" \ --prompt "Tóm tắt ưu tiên hôm nay từ memory và project đang active."Gửi kết quả về channel cụ thể:
bestie cron add \ --name morning-check-in \ --type cron_expr \ --schedule "0 8 * * *" \ --channel telegram:123456789 \ --prompt "Gửi morning check-in ngắn gọn."Destination hợp lệ là telegram:<userId> hoặc zalo:<userId>. Nếu không đặt --channel, Bestie thử gửi về owner Telegram/Zalo đã cấu hình khi token có sẵn.
Quản lý lịch
Phần tiêu đề “Quản lý lịch”bestie cron listbestie cron logsbestie cron logs 3bestie cron toggle 3bestie cron remove 3bestie cron rm 3List hiển thị ID, tên, type/value, channel, lần chạy tiếp theo và trạng thái. Logs lưu kết quả OK hoặc ERR; output thành công được cắt ngắn trước khi lưu.
Chạy scheduler
Phần tiêu đề “Chạy scheduler”Chạy foreground:
bestie cron runScheduler dừng khi nhận Ctrl+C, SIGINT, hoặc SIGTERM. Để chạy lâu dài trong nền:
bestie daemon start --channel cronbestie daemon status --channel cronXem thêm Chạy Bestie trong nền để chọn daemon hoặc user service theo hệ điều hành.
Ví dụ use case
Phần tiêu đề “Ví dụ use case”Mỗi sáng lúc 09:00, tóm tắt ưu tiên trong ngày.Mỗi ngày làm việc lúc 18:00, kiểm tra task nào cần follow-up.Mỗi 30 phút, chạy health check nhẹ.Tới một thời điểm cụ thể, gửi reminder về kênh đã cấu hình.Mô hình an toàn
Phần tiêu đề “Mô hình an toàn”Cron jobs nên tuân theo cùng mô hình approval của Bestie:
- Các kiểm tra read-only có thể chạy tự động nếu đã cấu hình.
- Hành động external như gửi tin nhắn, đăng công khai, tiêu tiền hoặc đổi thiết lập tài khoản vẫn nên cần approval trừ khi owner cấu hình rõ ràng khác đi.
- Job định kỳ nên nhỏ, rõ phạm vi và dễ audit để owner biết job đã chạy gì và vì sao.
Pattern khuyến nghị
Phần tiêu đề “Pattern khuyến nghị”Giữ scheduled task nhỏ và cụ thể:
name: daily-priority-checkschedule: 0 9 * * *action: yêu cầu agent tóm tắt ưu tiên hôm nay từ memory và project đang activeVới workflow rủi ro cao, chỉ schedule bước review và yêu cầu approval trước khi hành động.
