⏰ Hẹn giờ tự chạy
Tab Hẹn giờ & biến. Lưu data/schedules.json. Timer trong app mỗi 10 giây. App phải đang mở.
| Ô trên Properties | Key | Mặc định | Ý nghĩa / cách dùng |
|---|---|---|---|
| Bật hẹn giờ tự động chạy | config.enabled | — | Tắt = không tự chạy. Cột bảng vẫn có thể hiện loại lịch đã chọn. |
| Lặp lại theo khoảng phút | type=interval | — | Ô Mỗi N phút, N = 1–1440. |
| Chạy vào các giờ cụ thể | type=fixed | — | Nhiều mốc HH:mm. Thêm / Xóa giờ. |
Cách lịch thực sự chạy (đúng code)
- Bật checkbox và OK chỉ lưu cấu hình — chưa đưa vào vòng tick.
- Phải bấm Chạy khi đã bật lịch → job chạy ngay và kịch bản được gắn lịch.
- Stop gỡ lịch (cũng dừng job). Muốn hẹn giờ lại → Chạy lần nữa.
- Mở lại app: file lịch còn, vòng tick trống đến khi user Chạy lại.
- Tới giờ mà script đang chạy hoặc hết 16 job: bỏ qua lần đó. Interval: đã dời next_run rồi mới kiểm tra bận — không retry ngay. Giờ cố định: trượt phút đó, chờ mốc/ngày khác.
- Interval: lần Chạy đầu chạy ngay; lần sau = sau N phút (tính từ lúc gắn, không phải “từ lúc job xong”).
- Đã bật đa luồng: mỗi lần lịch fire giống bấm Chạy (cả list cửa sổ / hàng chờ).
API Local không bật/tắt lịch — chỉ start/stop lúc bạn gọi.
Ví dụ: farm mỗi 30 phút → bật interval 30 → OK → bấm Chạy. 08:00 và 20:00 → fixed hai mốc → Chạy một lần để arm → để app mở.