Generator Ekspresi Cron
Membangun ekspresi cron secara visual dengan preset dan waktu eksekusi berikutnya.
Deskripsi yang dapat dibaca
Runs every day at midnight
Tentang alat ini
Ekspresi cron adalah sintaks standar untuk menjadwalkan tugas dalam sistem mirip Unix, database, dan aplikasi web. Karena mereka menggunakan lima atau enam bidang untuk mewakili pola menit, jam, hari, bulan, dan hari dalam seminggu, format ringkas mereka membuat penulisan yang benar menjadi menantang. Alat ini menghilangkan dugaan dengan menyediakan antarmuka visual di mana Anda dapat memilih jadwal yang diinginkan menggunakan menu dropdown dan tombol radio intuitif, lalu segera melihat ekspresi cron yang sesuai dan kapan pekerjaan akan berjalan selanjutnya.
Untuk menggunakan alat ini, mulai dengan memilih frekuensi penjadwalan yang diinginkan dari preset umum seperti "Setiap menit", "Setiap jam", "Setiap hari pada waktu tertentu", atau "Khusus". Setelah memilih preset atau opsi khusus, sesuaikan batasan waktu atau tanggal tertentu menggunakan kontrol interaktif. Alat ini segera menghasilkan sintaks ekspresi cron standar dan menampilkan waktu eksekusi berikutnya, memudahkan verifikasi jadwal Anda sebelum menerapkannya ke aplikasi Anda. Ini sangat berguna saat mengonfigurasi tugas latar belakang, tugas pemeliharaan database, atau laporan otomatis di mana akurasi sangat penting.
Pertanyaan yang Sering Diajukan
Implementasi Kode
import re
def describe_cron(expression: str) -> str:
"""Parse a cron expression and return a plain-text description."""
parts = expression.strip().split()
if len(parts) != 5:
raise ValueError("Expected 5 fields: minute hour day month weekday")
minute, hour, day, month, weekday = parts
def field(val, unit):
if val == "*": return f"every {unit}"
if val.startswith("*/"):
return f"every {val[2:]} {unit}s"
if "," in val:
return f"{unit}s {val}"
if "-" in val:
lo, hi = val.split("-")
return f"from {unit} {lo} to {hi}"
return f"at {unit} {val}"
months = ["", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
parts_desc = [
field(minute, "minute"),
field(hour, "hour"),
field(day, "day-of-month"),
field(month, "month"),
field(weekday, "weekday"),
]
return ", ".join(parts_desc)
# Examples
print(describe_cron("0 9 * * 1-5")) # Every weekday at 9 AM
print(describe_cron("*/15 * * * *")) # Every 15 minutes
print(describe_cron("0 0 1 * *")) # First day of every month at midnightComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.