Netlify Hat geplante Funktionen

Hey! Geplante Funktionen sind cool! Stell sie dir wie einen CRON-Job vor. Ich möchte, dass dieser Code jeden Montag um 14 Uhr läuft. Ich möchte, dass dieser Code jede Stunde zur vollen Stunde läuft. So etwas. Warum sollte man so etwas tun wollen? Dafür gibt es unzählige Gründe! Vielleicht etwas wie „meinen Newsletter versenden“, bei dem du ihn auf deiner Website in Markdown schreibst, er in eine E-Mail-Vorlage verarbeitet und über eine Netlify-Funktion versendet wird. Jetzt könntest du das zu einem festgelegten Zeitplan erledigen. Oder etwas wie „alle meine neuen Blogbeiträge versenden, falls es welche gibt.“

Das liegt mir ziemlich am Herzen, weil ich in der Vergangenheit bezahlte externe Dienste dafür in Anspruch nehmen musste!

Sieh mal, ich habe eine kleine Mini-Website hier auf CSS-Tricks, die sehr zeitbasiert ist, da sie kommende Konferenzen auflistet. Es ist eine komplett statische Website, also sobald ein Datum überschritten ist, ist es, äh, irgendwie egal, die Website bleibt einfach, wie sie ist. Aber es gibt Code, der während des Build-Prozesses nur Konferenzen in der Zukunft und nicht in der Vergangenheit erstellt. Der Trick ist also, den Build-Prozess jeden Tag auszuführen.

Vor den geplanten Funktionen habe ich Zapier dafür genutzt, was seit Jahren problemlos funktioniert.

Aber das Wissen, wie das funktioniert, ist im Grunde in meinem Kopf eingesperrt. Außerdem mache ich es über einen nicht kostenlosen Drittanbieterdienst, und das birgt immer einen gewissen Rube-Goldberg-artigen technischen Schuldenaufwand.

Ich ändere gerade in dem Moment, in dem ich diesen Blogbeitrag tippe, wie ich es mache. Ich werde einfach die dümmste Funktion schreiben, die jemals eine POST-Anfrage an die URL sendet, die Netlify mir gibt, um Builds auszulösen, und das einmal am Tag. Das war's.

Man kann diese URL ja genauso gut als „Umgebungsvariable“ wie process.env.BUILD_SECRET oder was auch immer speichern.

Damit werde ich meinen Zap abschalten und mich einfach in Ruhe zurücklehnen, wissend, dass all diese Funktionalität jetzt an einem Ort gebündelt ist.

Das ist übrigens eine Beta-Funktion. Netlify empfiehlt sie noch nicht für die Produktion, wie in der Labs-Dokumentation beschrieben. Aber meine Sache ist nicht super geschäftskritisch, also probiere ich es aus.

Was könntest du sie noch verwenden? Der Blogbeitrag über die neue Funktion hat einige Ideen.

• Aufrufen einer Reihe von APIs, um am Ende jeder Woche Daten für einen Bericht zu sammeln.

• Sichern von Daten von einem Datenspeicher in einen anderen am Ende jeder Nacht.

• Erstellen und Bereitstellen all deiner statischen Inhalte jede Stunde anstelle für jede verfasste oder zusammengeführte Pull-Anfrage, oder

• Alles andere, was du dir vorstellen kannst, was du regelmäßig ausführen möchtest!