Générateur d'Expressions Cron
Construisez visuellement des expressions cron avec préréglages et prochaines exécutions.
Description lisible
Runs every day at midnight
À propos de cet outil
Les expressions cron sont la syntaxe standard pour planifier des tâches dans les systèmes de type Unix, les bases de données et les applications web. Parce qu'elles utilisent cinq ou six champs pour représenter les modèles de minute, d'heure, de jour, de mois et de jour de la semaine, leur format concis rend leur rédaction correcte difficile. Cet outil élimine les approximations en fournissant une interface visuelle où vous pouvez sélectionner votre horaire souhaité à l'aide de listes déroulantes et de boutons radio intuitifs, en voyant instantanément l'expression cron correspondante et le moment où la tâche s'exécutera ensuite.
Pour utiliser l'outil, commencez par sélectionner votre fréquence de planification souhaitée parmi les présets courants tels que « Chaque minute », « Chaque heure », « Tous les jours à une heure spécifique » ou « Personnalisé ». Une fois que vous avez choisi un preset ou une option personnalisée, ajustez les contraintes spécifiques de temps ou de date à l'aide des contrôles interactifs. L'outil génère immédiatement la syntaxe d'expression cron standard et affiche l'heure de la prochaine exécution, ce qui facilite la vérification de votre horaire avant de le déployer dans votre application. Cela s'avère particulièrement utile lors de la configuration de tâches en arrière-plan, de tâches de maintenance de base de données ou de rapports automatisés où la précision est essentielle.
Questions Fréquentes
Implémentation du Code
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.