Strumenti per sviluppatori · Generatore di Crontab
Leggere ad alta voce un'espressione cron: come */5 9-17 * * 1-5 diventa parole
· Come funziona
cron revisione del codice flusso di lavoro dello sviluppatore
Tradurre un'espressione in inglese è un processo meccanico una volta che si conosce l'ordine. Questo post fornisce l'algoritmo di lettura, lo applica a esempi complicati e mostra come la spiegazione di un generatore ti aiuta a verificare.
Un crontab nel differenziale che non puoi rivedere: cinque campi con passaggi e intervalli e nessun commento che li spieghi
Un'espressione di cinque token in una richiesta pull è una policy eseguibile compressa nella punteggiatura. I revisori che riconoscono la forma ma non riescono a pronunciare la pianificazione ad alta voce probabilmente non noteranno un punto finale inclusivo, un passaggio fuori posto o la relazione speciale tra i due campi giornalieri. La traduzione è quindi un controllo di correttezza, non una documentazione cosmetica.
ToolAcre deriva la sua frase dall'oggetto analizzato utilizzato da avvisi e anteprime. Incolla solo i cinque campi, lasciando fuori il comando e i segreti. Se la dicitura generata differisce dal commento dell'autore, metti in pausa la revisione e risolvi l'intento prima che l'espressione venga installata ovunque.
Leggi prima i campi del giorno: il giorno della settimana e il mese ti dicono quali giorni, poi i minuti e l'ora ti dicono quando
L'ambito del calendario è più semplice da stabilire prima dei dettagli dell'orologio. Il mese e il giorno della settimana rivelano quali parti dell'anno o della settimana sono idonee; il giorno del mese può aggiungere un'altra condizione di calendario; ora e minuto, quindi il luogo viene eseguito entro le date corrispondenti. Questo ordine di lettura è riservato alla revisione umana, mentre l'ordine posizionale memorizzato dell'espressione rimane al primo posto.
Chiedi sempre se entrambi i campi del giorno sono limitati. In tal caso, ToolAcre li unisce con "o" ed emette un avviso. Leggerli casualmente come filtri AND adiacenti modifica il programma. Un carattere jolly nel campo di un giorno rimuove tale ambiguità e consente all'altro campo di fungere da unica restrizione giornaliera.
Traducendo ogni token — * come 'ogni', un numero come 'a', un intervallo come 'da–a', un passo come 'ogni N a partire da'
Una stella indica ogni valore consentito in quella posizione. Un numero seleziona un valore. Un trattino include ogni valore tra i suoi punti finali. Le virgole combinano gli elementi e una barra campiona ogni n-esimo valore dall'inizio di un carattere jolly, un intervallo o un inizio semplice. Il minimo del campo determina dove inizia un passaggio con carattere jolly.
I nomi sono accettati per mesi e giorni feriali indipendentemente dalla distinzione tra maiuscole e minuscole, inclusi intervalli come `JAN-MAR` e `MON-FRI`. Domenica può essere scritta 0 o 7 ed è normalizzata in 0. Il codice di descrizione converte i valori espansi contigui in una formulazione "passante" e i valori non contigui in un elenco leggibile.
Esempio realizzato: lo strumento descrive le ore selezionate, mentre i valori dei minuti espansi identificano la corsa finale
`*/5 9-17 * * 1-5` seleziona i valori dei minuti da 0 a 55 in incrementi di cinque, dalle ore da 9 a 17 e i giorni feriali dal lunedì al venerdì. Lo strumento descrive il passaggio dei minuti nell'intervallo di ore selezionato. L'espansione dei valori mostra che il candidato finale nell'ora 17 inclusa è 17:55.
Quest'ultimo candidato viene spesso mancato quando "9-17" viene parafrasato come limite di un giorno lavorativo. Cron seleziona i valori dell'ora completi, quindi li combina con tutti i minuti selezionati. Se l'intento termina con 17:00, l'espressione non può essere considerata corretta semplicemente perché le parole "dalle nove alle cinque" suonano familiari.
Esempio realizzato: 0 0 1,15 * 3 — leggere il campo giornaliero OPPURE escludere ad alta voce in modo da non perderlo
Ora leggi `0 0 1,15 * 3`. Viene selezionata la mezzanotte, il giorno del mese è il primo o il quindicesimo e il giorno della settimana è mercoledì. Poiché entrambi i campi del giorno sono limitati, la condizione del calendario è il primo o il quindicesimo di ogni mese OPPURE ogni mercoledì. Non è "mercoledì quando la data è 1 o 15".
L'avvertimento di ToolAcre mette in risalto quell'unione e la sua descrizione inserisce la parola "o". L'anteprima successiva fornisce date concrete per la zona selezionata. Rivedi tutti e tre i risultati perché una frase fluente da sola può ancora nascondere che il requisito sottostante era un'intersezione che il dialetto non può esprimere direttamente.
Memorizza un commento di intenti solo dopo averlo confrontato con l'espressione
Un commento sopra un'espressione può preservare l'intento, ma può anche preservare una vecchia bugia dopo la modifica dei campi. Genera o ricostruisci manualmente la frase dai token correnti durante la revisione. Se una modifica cambia `0` in `*/5`, aggiorna il commento solo dopo aver confermato il set di minuti espanso e l'esecuzione finale.
Preferisci un commento che indichi l'ipotesi della zona dell'orologio da parete e la frequenza. L'espressione non contiene un campo relativo al fuso orario, mentre l'anteprima di ToolAcre chiede al revisore di sceglierne uno. Quella nota aiuta un'altra persona a riprodurre lo stesso elenco senza implicare che la scelta del browser configuri l'eventuale pianificatore.
Le grammatiche a sei e sette campi vengono rifiutate, non tradotte
Il parser richiede esattamente cinque campi. Un input a sei campi riceve una spiegazione specifica sullo stile dei secondi iniziali; le forme più lunghe non vengono interpretate. Anche ToolAcre non ha un campo per l'anno. Pertanto l’algoritmo in inglese semplice in questo articolo si applica solo alla grammatica a cinque campi del repository.
Non rimuovere un campo da Quartz, Spring o un altro prodotto finché il testo rimanente non viene convalidato. Gli operatori non supportati possono avere un significato essenziale. La traduzione richiede documentazione per entrambi i sistemi, mentre questo generatore fornisce prove solo per i propri valori, nomi, intervalli, elenchi, passaggi, caratteri jolly e alias accettati.
Conclusione: ogni espressione ha una frase e il generatore Crontab produce quella frase in modo che tu possa confrontarla con l'intento
Ogni espressione supportata può essere espansa in valori di campi finiti e una frase di calendario. La lettura di questi valori espone i candidati limite che le frasi informali omettono. Inoltre, forza la regola OR del campo giorno nella conversazione prima che la pianificazione raggiunga un host operativo.
Per la revisione, incolla l'espressione, confronta la descrizione generata con il requisito dichiarato, controlla gli avvisi e prova i tempi futuri. Mantieni il commento risultante accanto alla riga, ma tratta l'espressione analizzata come sorgente eseguibile. Il generatore spiega l'intento della pianificazione; non attesta un comando né lo installa.