2017-04-21 4 views
0

Ich möchte eine Funktion 24/7 und einmal im Monat. Zur gleichen Zeit wird jeden Monat Funktion2 ausgeführt. Jetzt muss ich auch eine Datei ausgeben, um die aktuelle Zeit zu protokollieren, wenn der Server die Verbindung trennt, dann wird die Datei erneut gelesen und von dort aus weitergeführt. Damit der Server neu gestartet werden kann und der Zeitplan nicht durcheinander gebracht wird. Ich interessiere mich nicht für bestimmte Sekunden oder sogar Stunden. Solange es die Funktion2 alle 30 Tage ausführt, wird es gut funktionieren. Ich habe eine Datenbank, die speichert:Wie wird die Funktion einmal im Monat ausgeführt? - Javascript

Image{ 
 
    name: 'sunglasses.png', 
 
    url: 'site.com/sdfhj2of2', 
 
    path: 'uploads/images/sdfsfwf2', 
 
    uploadDate: '05-12-16', 
 
    expireDate: '6-12-16' 
 
}

Jetzt habe ich herausfinden, wie das Löschen dieser Datei zu handhaben, 30 Tage, nachdem sie hochgeladen. Wie kann/soll ich das tun? Das Löschen aus der Datenbank/dem Verzeichnis kann ich erledigen, aber wie man diese Funktion aufruft, wenn das Bild sie erreicht, verfallen Datum IDK.

+0

Sie können [node-cron] (https://github.com/kelektiv/node-cron) verwenden. – Pyromonk

Antwort

0

Ich tat dasselbe in einem meiner Projekte. Verwenden Sie einfach https://github.com/node-schedule/node-schedule, um die Ausführung zu planen.

Erstellen Sie einen Datensatz in der Datei der Datenbank über geplante Aufgabe (nur Zeit speichern, etwa wie "42 * * * *"). Starten Sie dann auf dem Server die Datei/Datenbank und legen Sie den Job-Plan in den Speicher. Es wird wie gewünscht ausgeführt.

Verwandte Themen