Pekerjaan Cron (Penjadwal Gateway)
Cron vs Heartbeat? Lihat Cron vs Heartbeat untuk panduan kapan menggunakan masing-masing fitur ini.Cron adalah penjadwal bawaan Gateway. Fitur ini menyimpan daftar pekerjaan, membangunkan agen pada waktu yang tepat, dan secara opsional mengirimkan output kembali ke obrolan (chat). Jika Anda ingin “jalankan ini setiap pagi” atau “ingatkan agen dalam 20 menit”, cron adalah mekanismenya. Pemecahan Masalah: /id-ID/automation/troubleshooting
Ringkasan Cepat
- Cron berjalan di dalam Gateway (bukan di dalam model).
- Pekerjaan disimpan di bawah
~/.openclaw/cron/sehingga jadwal tidak hilang saat Gateway dimulai ulang. - Dua gaya eksekusi:
- Sesi Utama (Main session): memasukkan kejadian sistem (system event) ke antrean, lalu dijalankan pada heartbeat berikutnya.
- Terisolasi (Isolated): menjalankan putaran agen khusus dalam sesi
cron:<jobId>, dengan pengiriman hasil (defaultnya diumumkan atau tidak sama sekali).
- “Wakeup” (membangunkan) adalah fitur utama: sebuah pekerjaan dapat meminta “bangun sekarang” vs “heartbeat berikutnya”.
Mulai Cepat
Buat pengingat sekali jalan, verifikasi keberadaannya, dan jalankan segera:Di Mana Pekerjaan Cron Disimpan
Pekerjaan cron disimpan di host Gateway pada file~/.openclaw/cron/jobs.json. Gunakan perintah openclaw cron add/edit untuk melakukan perubahan.
Konsep Dasar
Anggap pekerjaan cron sebagai: kapan harus berjalan + apa yang harus dilakukan.-
Pilih jadwal
- Pengingat sekali jalan →
schedule.kind = "at"(CLI:--at) - Pekerjaan berulang →
schedule.kind = "every"atauschedule.kind = "cron"
- Pengingat sekali jalan →
-
Pilih lokasi eksekusi
sessionTarget: "main"→ berjalan saat heartbeat berikutnya dengan konteks sesi utama.sessionTarget: "isolated"→ berjalan sebagai putaran agen khusus dalam sesicron:<jobId>.
-
Pilih muatan (payload)
- Sesi utama →
payload.kind = "systemEvent" - Sesi terisolasi →
payload.kind = "agentTurn"
- Sesi utama →
Jadwal (Schedules)
Cron mendukung tiga jenis jadwal:at: stempel waktu sekali jalan (ISO 8601).every: interval tetap (dalam milidetik).cron: ekspresi cron 5-bidang (atau 6-bidang dengan detik) dengan zona waktu IANA opsional.
Eksekusi Utama vs Terisolasi
Pekerjaan Sesi Utama (System Events)
Pekerjaan utama memasukkan kejadian sistem ke antrean dan secara opsional membangunkan pelaksana heartbeat. Sangat cocok jika Anda ingin prompt heartbeat normal dan konteks sesi utama. Lihat Heartbeat.Pekerjaan Terisolasi (Sesi Cron Khusus)
Pekerjaan terisolasi berjalan sebagai putaran agen khusus. Setiap eksekusi dimulai dengan ID sesi baru (fresh session id) (tidak membawa konteks percakapan sebelumnya). Sangat berguna untuk tugas-tugas latar belakang yang sering atau berisik agar tidak memenuhi riwayat obrolan utama Anda.Contoh CLI
Pengingat sekali jalan (dalam 20 menit, sesi utama, bangun segera):Pemecahan Masalah
”Tidak ada yang berjalan”
- Pastikan cron diaktifkan: cek
cron.enableddi konfigurasi atau variabel lingkunganOPENCLAW_SKIP_CRON. - Pastikan Gateway berjalan terus-menerus (cron berjalan di dalam proses Gateway).
- Untuk jadwal
cron: pastikan zona waktu (--tz) sudah tepat.