Deutsch

Entwicklertools · Crontab-Generator

Vorlesen eines Cron-Ausdrucks: Wie */5 9-17 * * 1-5 zu Wörtern werden

· Wie es funktioniert

Cron Codeüberprüfung Entwickler-Workflow

Fünf Cron-Tokens fließen in eine Bewertungskarte im Klartext
Original-ToolAcre-Vektorillustration

Das Übersetzen eines Ausdrucks ins Englische ist ein mechanischer Vorgang, sobald Sie die Reihenfolge kennen. Dieser Beitrag stellt den Lesealgorithmus vor, wendet ihn auf knifflige Beispiele an und zeigt, wie die Erklärung eines Generators Ihnen bei der Überprüfung hilft.

Eine Crontab im Diff, die Sie nicht überprüfen können – fünf Felder mit Schritten und Bereichen und kein Kommentar, der sie erklärt

Ein Ausdruck mit fünf Token in einer Pull-Anfrage ist eine ausführbare Richtlinie, die in Satzzeichen komprimiert ist. Rezensenten, die die Form erkennen, den Zeitplan aber nicht laut aussprechen können, übersehen wahrscheinlich einen inklusiven Endpunkt, einen falsch platzierten Schritt oder die besondere Beziehung zwischen den beiden Tagesfeldern. Bei der Übersetzung handelt es sich also um eine Korrektheitsprüfung und nicht um eine kosmetische Dokumentation.

ToolAcre leitet seinen Satz aus dem analysierten Objekt ab, das von Warnungen und Vorschauen verwendet wird. Fügen Sie nur die fünf Felder ein und lassen Sie den Befehl und die Geheimnisse draußen. Wenn der generierte Wortlaut vom Kommentar des Autors abweicht, pausieren Sie die Überprüfung und klären Sie die Absicht, bevor der Ausdruck irgendwo installiert wird.

Lesen Sie zuerst die Tagesfelder – Wochentag und Monat sagen Ihnen, welche Tage es gibt, Minute und Stunde sagen Ihnen dann, wann

Der Kalenderbereich lässt sich am einfachsten vor den Uhrzeitdetails festlegen. Monat und Wochentag geben Aufschluss darüber, welche Teile des Jahres oder der Woche berechtigt sind; Der Tag des Monats kann eine weitere Kalenderbedingung hinzufügen. Stunde und Minute und platzieren Sie dann Läufe innerhalb übereinstimmender Daten. Diese Lesereihenfolge ist für die menschliche Überprüfung bestimmt, während die gespeicherte Positionsreihenfolge des Ausdrucks nach der ersten Minute beibehalten wird.

Fragen Sie immer, ob beide Tagesfelder eingeschränkt sind. Wenn ja, verknüpft ToolAcre sie mit „oder“ und gibt eine Warnung aus. Wenn Sie sie beiläufig lesen, da benachbarte UND-Filter den Zeitplan ändern. Ein Platzhalter in einem Tagesfeld beseitigt diese Mehrdeutigkeit und lässt das andere Feld als einzige Tagesbeschränkung fungieren.

Jedes Token übersetzen – * als „jeder“, eine Zahl als „bei“, ein Bereich als „von–bis“, ein Schritt als „jedes N beginnt bei“

Ein Stern bedeutet jeden zulässigen Wert an dieser Position. Eine Zahl wählt einen Wert aus. Ein Bindestrich umfasst jeden Wert zwischen seinen Endpunkten. Kommas fassen Elemente zusammen und ein Schrägstrich erfasst jeden n-ten Wert vom Beginn eines Platzhalters, Bereichs oder bloßen Anfangs. Das eigene Minimum des Feldes bestimmt, wo ein Platzhalterschritt beginnt.

Namen werden für Monate und Wochentage ohne Rücksicht auf die Groß-/Kleinschreibung akzeptiert, einschließlich Bereiche wie `JAN-MAR` und `MON-FRI`. Sonntag kann als 0 oder 7 geschrieben werden und wird auf 0 normalisiert. Der Beschreibungscode wandelt zusammenhängende erweiterte Werte in „durchgehende“ Formulierungen und nicht zusammenhängende Werte in eine lesbare Liste um.

Arbeitsbeispiel: Das Tool beschreibt die ausgewählten Stunden, während erweiterte Minutenwerte den endgültigen Lauf identifizieren

`*/5 9-17 * * 1-5` wählt die Minutenwerte 0 bis 55 in Fünferschritten, die Stunden 9 bis 17 und die Wochentage Montag bis Freitag aus. Das Tool beschreibt Minutenschritte über die ausgewählte Stundenspanne. Das Erweitern der Werte zeigt, dass der letzte Kandidat in der eingeschlossenen Stunde 17 17:55 ist.

Der letzte Kandidat wird oft übersehen, wenn „9-17“ als Geschäftstagsgrenze umgeschrieben wird. Cron wählt vollständige Stundenwerte aus und kombiniert sie dann mit allen ausgewählten Minuten. Wenn die Absicht auf 17:00 endet, kann der Ausdruck nicht allein deshalb als korrekt angesehen werden, weil die Wörter „nine to five“ bekannt vorkommen.

Arbeitsbeispiel: 0 0 1,15 * 3 – Vorlesen des Tagesfelds ODER Ausschluss laut, damit es nicht übersehen wird

Lesen Sie nun `0 0 1,15 * 3`. Mitternacht ist ausgewählt, der Tag des Monats ist der erste oder fünfzehnte und der Wochentag ist Mittwoch. Da beide Tagesfelder eingeschränkt sind, ist die Kalenderbedingung der Erste oder Fünfzehnte eines jeden Monats ODER jeder Mittwoch. Es ist nicht „Mittwoch, wenn das Datum 1 oder 15 ist.“

Die Warnung von ToolAcre hebt diese Vereinigung hervor und in ihrer Beschreibung wird das Wort „oder“ eingefügt. Die nächste Vorschau zeigt konkrete Termine für die ausgewählte Zone an. Überprüfen Sie alle drei Ergebnisse, da ein fließender Satz allein immer noch verbergen kann, dass die zugrunde liegende Anforderung eine Schnittmenge war, die der Dialekt nicht direkt ausdrücken kann.

Speichern Sie einen Absichtskommentar erst, nachdem Sie ihn mit dem Ausdruck verglichen haben

Ein Kommentar über einem Ausdruck kann die Absicht bewahren, aber er kann auch eine alte Lüge bewahren, nachdem sich die Felder geändert haben. Generieren oder rekonstruieren Sie den Satz während der Überprüfung manuell aus den aktuellen Token. Wenn eine Bearbeitung `0` in `*/5` ändert, aktualisieren Sie den Kommentar erst, nachdem Sie den erweiterten Minutensatz und den letzten Lauf bestätigt haben.

Bevorzugen Sie einen Kommentar, der die Annahme der Wanduhrzone sowie die Häufigkeit angibt. Der Ausdruck enthält kein Zeitzonenfeld, während die Vorschau von ToolAcre den Prüfer auffordert, eines auszuwählen. Dieser Hinweis hilft einer anderen Person, dieselbe Liste zu reproduzieren, ohne zu implizieren, dass die Browserauswahl den letztendlichen Planer konfiguriert.

Sechs- und Sieben-Felder-Grammatiken werden abgelehnt, nicht übersetzt

Der Parser benötigt genau fünf Felder. Eine Eingabe mit sechs Feldern erhält eine spezifische Erklärung zum Stil der führenden Sekunde; längere Formen werden nicht interpretiert. ToolAcre hat auch kein Jahresfeld. Daher gilt der Klartext-Algorithmus in diesem Artikel nur für die Fünf-Felder-Grammatik des Repositorys.

Entfernen Sie kein Feld von Quartz, Spring oder einem anderen Produkt, bis der verbleibende Text validiert ist. Nicht unterstützte Operatoren können eine wesentliche Bedeutung haben. Für die Übersetzung ist eine Dokumentation für beide Systeme erforderlich, während dieser Generator nur Beweise für seine eigenen akzeptierten Werte, Namen, Bereiche, Listen, Schritte, Platzhalter und Aliase liefert.

Fazit: Jeder Ausdruck hat einen Satz – und der Crontab-Generator erzeugt diesen Satz, damit Sie ihn mit der Absicht vergleichen können

Jeder unterstützte Ausdruck kann in endliche Feldwerte und einen Kalendersatz erweitert werden. Beim Lesen dieser Werte werden Kantenkandidaten sichtbar, die in informellen Phrasen weggelassen werden. Außerdem wird die Tagesfeld-OR-Regel in die Konversation einbezogen, bevor der Zeitplan einen operativen Host erreicht.

Zur Überprüfung fügen Sie den Ausdruck ein, vergleichen Sie die generierte Beschreibung mit der angegebenen Anforderung, überprüfen Sie Warnungen und probieren Sie bevorstehende Zeiten aus. Behalten Sie den resultierenden Kommentar neben der Zeile, aber behandeln Sie den analysierten Ausdruck als ausführbare Quelle. Der Generator erklärt die Planabsicht; Es bestätigt weder einen Befehl noch installiert es ihn.