Ein Zeitplan startet einen gespeicherten Workflow nach einem Fahrplan, jedes Mal mit derselben Eingabe und demselben Budget. Jeder Start ist eine gewöhnliche Ausführung: aufgezeichnet, berechnet und zerstört wie eine, die Sie selbst gestartet haben.
Ein Zeitplan
Ein Zeitplan nennt einen Workflow, einen Fahrplan in cron-Syntax und eine Zeitzone sowie die Eingabe und das Budget für jede Ausführung. Beispiel: Werktags um 09:00 Uhr in Tokio die Neukunden von gestern abrufen und jedem über eine Verbindung eine Willkommens-E-Mail senden:
{
"workflow": "welcome-new-customers",
"name": "Weekday welcome emails",
"cron": "0 9 * * 1-5",
"timezone": "Asia/Tokyo",
"input": { "signed_up": "yesterday" },
"max_cost_micros": 200000
}Das Dashboard erstellt den Fahrplan unter Zeitpläne für Sie: alle paar Minuten, stündlich, täglich zu einer oder mehreren Uhrzeiten, an bestimmten Wochentagen oder Tagen des Monats oder mit einem beliebigen cron-Ausdruck. Es zeigt die nächsten Startzeiten an, bevor Sie speichern.
Fahrpläne
Ein Fahrplan hat fünf Felder: Minute, Stunde, Tag des Monats, Monat und Wochentag. Jedes nimmt einen Wert, eine Liste (1,15), einen Bereich (1-5), eine Schrittweite (*/15) oder *. Kurzformen funktionieren ebenfalls.
| Fahrplan | Startet |
|---|---|
*/ | Alle 15 Minuten. |
0 * * * * | Jede Stunde zur vollen Stunde. |
30 8,17 * * * | Jeden Tag um 08:30 und 17:30 Uhr. |
0 9 * * 1-5 | Werktags um 09:00 Uhr. |
0 6 1 * * | Am Ersten jedes Monats um 06:00 Uhr. |
@daily | Jeden Tag um Mitternacht. Ebenso @hourly, @weekly und @monthly. |
@every 90m | Alle 90 Minuten, gezählt ab dem Speichern des Zeitplans. |
Uhrzeiten werden in der timezone des Zeitplans gelesen, einem IANA-Namen wie Europe/Madrid. Ein Zeitplan für 09:00 Uhr bleibt daher auch bei Zeitumstellungen bei 09:00 Uhr. Zeitpläne starten höchstens einmal pro Minute.
So funktionieren Starts
- Ephemeral prüft alle paar Sekunden, welche Zeitpläne fällig sind, und startet jeden so, als hätten Sie
POST /v1/runsmit dem Workflow, der Eingabe und dem Budget aufgerufen. Die Ausführung vermerkt, welcher Zeitplan sie gestartet hat. - Jede Startzeit wird einmal ausgeführt. War Ephemeral nicht verfügbar, als Starts fällig waren, läuft der Zeitplan einmal, sobald es wieder erreichbar ist, und hält sich danach wieder an seinen Fahrplan.
- Standardmäßig wird ein Start übersprungen, solange die vorherige Ausführung des Zeitplans noch läuft, und der Zeitplan vermerkt dies. Setzen Sie
skip_if_runningauffalse, damit sich Ausführungen überschneiden dürfen. - Schlägt ein Start fehl, etwa weil der Workflow gelöscht wurde oder das Guthaben nicht reicht, vermerkt der Zeitplan den Grund und versucht es zur nächsten Zeit erneut. Nach fünf fehlgeschlagenen Starts in Folge wird er pausiert; beim erneuten Aktivieren wird der Zähler zurückgesetzt.
Geplante Ausführungen verfolgen
Geplante Ausführungen erscheinen zusammen mit Ihren übrigen Ausführungen und tragen eine schedule_id. Die Ausführungen eines Zeitplans listen Sie mit GET /v1/runs?schedule={id} auf. Zeitpläne senden keine Callbacks; um auf das Ergebnis zu reagieren, lassen Sie den Workflow dies über eine Verbindung erledigen oder fragen Sie die Ausführungen des Zeitplans ab.