Cron-Ausdruck-Generator
Erstellt Cron-Ausdrücke visuell mit Voreinstellungen und nächsten Ausführungszeiten.
Für Menschen lesbare Beschreibung
Runs every day at midnight
Über dieses Tool
Cron-Ausdrücke sind die Standardsyntax zum Planen von Aufgaben in Unix-ähnlichen Systemen, Datenbanken und Webanwendungen. Da sie fünf oder sechs Felder verwenden, um Muster für Minute, Stunde, Tag, Monat und Wochentag darzustellen, macht ihr prägnantes Format das korrekte Schreiben schwierig. Dieses Tool behebt dieses Problem durch eine visuelle Schnittstelle, in der Sie Ihren gewünschten Zeitplan mithilfe intuitiver Dropdown-Menüs und Optionsschaltflächen auswählen können und sofort den entsprechenden Cron-Ausdruck und den nächsten Ausführungszeitpunkt sehen.
Um das Tool zu verwenden, wählen Sie zunächst Ihre gewünschte Planungshäufigkeit aus gängigen Voreinstellungen wie "Jede Minute", "Stündlich", "Täglich zu einer bestimmten Zeit" oder "Benutzerdefiniert" aus. Nachdem Sie eine Voreinstellung oder benutzerdefinierte Option ausgewählt haben, passen Sie die spezifischen Zeit- oder Datumsbeschränkungen mithilfe der interaktiven Steuerelemente an. Das Tool generiert sofort die standardmäßige Cron-Ausdruckssyntax und zeigt die nächste Ausführungszeit an, um die Planung vor der Bereitstellung in Ihrer Anwendung einfach zu überprüfen. Dies ist besonders nützlich beim Konfigurieren von Hintergrundaufgaben, Datenbank-Wartungsaufgaben oder automatisierten Berichten, bei denen Genauigkeit entscheidend ist.
Häufig gestellte Fragen
Code-Implementierung
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.