Parser Ekspresi Cron

Parse jadwal cron menjadi rincian bidang yang mudah dipahami dan lihat pratinjau waktu eksekusi berikutnya, langsung di browser Anda.

Ekspresi cron

Eksekusi berikutnya

(waktu lokal Anda)

Masukkan ekspresi cron untuk memparsenya.

Ekspresi cron Anda diparse langsung di browser Anda. Tidak ada data yang dikirim ke BroBroGo.

Tanya Jawab

Sintaks cron apa saja yang didukung oleh alat ini?

Cron standar dengan 5 field — menit, jam, tanggal, bulan, dan hari — termasuk rentang (1-5), step (*/15), daftar (1,15), nama bulan dan hari (JAN, MON), serta pintasan @yearly/@monthly/@weekly/@daily/@hourly. Satu aturan yang sering terlewat: ketika tanggal dan hari sama-sama dibatasi (bukan *), kecocokan pada salah satunya saja sudah cukup — keduanya tidak harus terpenuhi bersamaan.

Dalam zona waktu apa waktu eksekusi berikutnya ditampilkan?

Zona waktu lokal browser Anda — sama dengan yang digunakan oleh jam sistem Anda. Cron standar tidak memiliki zona waktu sendiri; job scheduler yang menjalankannya yang menentukan hal itu, jadi anggap waktu-waktu ini sebagai pratinjau jadwal lokal Anda sendiri, belum tentu sama dengan waktu di server.

Mengapa tertulis bahwa jadwal ini tidak akan pernah terjadi?

Biasanya karena nilai tanggal yang tidak ada di setiap bulan yang dipilih — misalnya, tanggal 31 dengan April, Juni, September, atau November di kolom bulan. Pilih tanggal yang ada di semua bulan yang Anda daftarkan, atau bagi jadwal menjadi beberapa ekspresi terpisah.

Memahami Komponen Ekspresi Cron

Ekspresi cron adalah format teks satu baris yang digunakan untuk menentukan jadwal eksekusi otomatis suatu tugas. Alat Parser Ekspresi Cron memecah ekspresi ini menjadi komponen-komponen individual untuk menunjukkan arti dari setiap bagian jadwal tersebut. Format standar yang didukung oleh alat ini terdiri dari 5 bidang utama yang disusun secara berurutan:

  1. Menit (Menit): Menentukan menit ke berapa tugas akan dijalankan.
  2. Jam (Jam): Menentukan jam eksekusi.
  3. Hari dalam sebulan (Hari dalam sebulan): Menentukan tanggal dalam satu bulan.
  4. Bulan (Bulan): Menentukan bulan dalam setahun.
  5. Hari dalam seminggu (Hari dalam seminggu): Menentukan hari spesifik dalam satu pekan.

Alat ini mendukung berbagai format penulisan nilai di dalam bidang-bidang tersebut, seperti rentang nilai (contoh: 1-5), langkah atau interval (contoh: */15), daftar beberapa nilai (contoh: 1,15), nama bulan (contoh: JAN), serta nama hari dalam seminggu (contoh: MON). Selain itu, pintasan praktis seperti @yearly, @monthly, @weekly, @daily, dan @hourly juga dapat diparse secara langsung.

Cara Kerja Parser dan Penanganan Karakter Khusus

Saat Anda memasukkan ekspresi seperti */15 9-17 * * MON-FRI ke dalam input ekspresi cron, alat ini akan langsung memproses setiap bidang dan menampilkan rincian jadwal. Karakter khusus diterjemahkan ke dalam bahasa yang mudah dipahami:

  • Karakter Wildcard (*): Ditampilkan sebagai "Apa saja".
  • Format Interval (*/n): Diterjemahkan secara spesifik berdasarkan posisinya, yaitu "Setiap {n} menit", "Setiap {n} jam", "Setiap {n} hari" (untuk hari dalam sebulan maupun hari dalam seminggu), atau "Setiap {n} bulan".

Alat ini juga dilengkapi dengan pengaturan jumlah eksekusi yang ditampilkan melalui input numerik dengan rentang nilai antara 1 hingga 20. Hal ini memudahkan pengguna untuk melihat daftar waktu eksekusi mendatang secara presisi. Jika input dikosongkan, alat akan kembali ke status siap dengan pesan "Masukkan ekspresi cron untuk memparsenya.".

Aturan Interaksi Bidang dan Batasan Sintaksis

Dalam sintaksis cron standar, terdapat aturan penting mengenai interaksi antara bidang tanggal (hari dalam sebulan) dan bidang hari dalam seminggu. Ketika kedua bidang ini dibatasi atau diatur ke nilai spesifik (bukan tanda wildcard *), sistem penjadwalan akan menjalankan tugas jika salah satu dari kedua kondisi tersebut terpenuhi. Kecocokan pada salah satu bidang saja sudah cukup untuk memicu eksekusi jadwal.

Perlu dicatat bahwa alat ini dirancang khusus untuk memproses sintaksis cron standar 5 bidang. Alat ini tidak mendukung bidang keenam untuk satuan "detik", serta tidak mendukung ekstensi khusus Quartz seperti karakter L, W, atau #.

Deteksi Kesalahan dan Jadwal Mustahil

Alat ini melakukan validasi sintaksis secara langsung untuk membantu proses debugging. Terdapat dua kategori kesalahan utama yang dapat dideteksi:

  1. Ekspresi Tidak Valid: Jika ekspresi yang dimasukkan tidak mengikuti aturan sintaksis cron yang benar, alat akan menampilkan pesan "Ekspresi cron tidak valid.".
  2. Jadwal yang Mustahil Terjadi: Jika ekspresi secara sintaksis valid tetapi menghasilkan jadwal yang tidak akan pernah bisa dieksekusi, alat akan menampilkan pesan "Jadwal ini tidak akan pernah terjadi — periksa kembali apakah ada tanggal yang tidak ada pada bulan yang dipilih.". Kasus ini umumnya terjadi jika Anda memasukkan tanggal 31 pada bidang hari dalam sebulan, sementara bidang bulan memuat bulan-bulan yang hanya memiliki 30 hari atau kurang, seperti April, Juni, September, atau November.

Pengaruh Zona Waktu pada Pratinjau Eksekusi

Daftar waktu eksekusi berikutnya yang dihitung oleh alat ini ditampilkan dalam zona waktu lokal browser Anda. Catatan "(waktu lokal Anda)" akan disematkan di samping daftar eksekusi untuk memastikan kejelasan waktu.

Penting untuk dipahami bahwa ekspresi cron itu sendiri tidak menyimpan informasi zona waktu. Tugas terjadwal pada server atau sistem backend akan berjalan berdasarkan zona waktu yang dikonfigurasi pada lingkungan eksekusi server tersebut. Oleh karena itu, pratinjau lokal ini berfungsi sebagai representasi waktu di perangkat Anda saat ini dan mungkin berbeda dengan waktu eksekusi aktual di server jika terdapat perbedaan zona waktu.

Pemrosesan Lokal untuk Privasi Data

Keamanan data Anda tetap terjaga karena seluruh proses analisis dan kalkulasi ekspresi cron dilakukan langsung di dalam browser Anda. Tidak ada data input, hasil parse, atau informasi aktivitas yang dikirim ke BroBroGo. Pemrosesan sepenuhnya berjalan secara lokal di sisi klien, sehingga Anda dapat bekerja dengan nyaman tanpa khawatir data konfigurasi internal Anda terekspos ke jaringan luar.

Pertanyaan yang Sering Diajukan (FAQ)

Sintaks cron apa saja yang didukung oleh alat ini?
Cron standar dengan 5 field — menit, jam, tanggal, bulan, dan hari — termasuk rentang (1-5), step (*/15), daftar (1,15), nama bulan dan hari (JAN, MON), serta pintasan @yearly/@monthly/@weekly/@daily/@hourly. Satu aturan yang sering terlewat: ketika tanggal dan hari sama-sama dibatasi (bukan *), kecocokan pada salah satunya saja sudah cukup — keduanya tidak harus terpenuhi bersamaan.

Dalam zona waktu apa waktu eksekusi berikutnya ditampilkan?
Zona waktu lokal browser Anda — sama dengan yang digunakan oleh jam sistem Anda. Cron standar tidak memiliki zona waktu sendiri; job scheduler yang menjalankannya yang menentukan hal itu, jadi anggap waktu-waktu ini sebagai pratinjau jadwal lokal Anda sendiri, belum tentu sama dengan waktu di server.

Mengapa tertulis bahwa jadwal ini tidak akan pernah terjadi?
Biasanya karena nilai tanggal yang tidak ada di setiap bulan yang dipilih — misalnya, tanggal 31 dengan April, Juni, September, atau November di kolom bulan. Pilih tanggal yang ada di semua bulan yang Anda daftarkan, atau bagi jadwal menjadi beberapa ekspresi terpisah.