Eine einfache Möglichkeit, diese Art von Bedingungen zu überwachen, besteht darin, zu überwachen, wie lange es her ist, dass die letzte Aufgabe abgeschlossen wurde.
Anstatt zu wissen, wann das nächste Skript abgeschlossen sein soll, müssen wir jetzt, wenn wir wissen, ob es alle 6 Stunden ausgeführt werden soll, nur die letzte Ausführungszeit mit 'jetzt' vergleichen, wenn die Anzahl der Stunden zwischen den beiden (now - lastExecution)
größer als ist 6, dann lösen Sie Ihre Warnung.
Veröffentlichen Sie einfach den Zeitstempel, als die Aufgabe / das Skript zuletzt abgeschlossen wurde, auf thingspeak. Jetzt überwachen Sie diesen Zeitstempel einfach auf einer regelmäßigen Frequenz, die normalerweise kleiner ist als der Zeitraum, den Sie zu erkennen versuchen, wenn er jemals größer als 'x' Minuten ist. Senden Sie die Warnung.
if <thingspeak API - Last Execution> more than x hours ago
send email <it seems script1234> failed
Wenn Ihr Überwachungstool keine einfachen Datums- / Uhrzeitfunktionen oder logischen Operationen hat, die Sie auf die oben beschriebene Weise konfigurieren können. Ändern Sie Ihr Skript, um den Zeitstempel mit dem hinzugefügten Zeitraum 'x' zu melden. Wenn es sich also um ein 6-Stunden-Skript handelt, fügen Sie dem von Ihnen gesendeten Zeitstempel 6 Stunden hinzu. Die Überwachungslogik ist jetzt sehr einfach:
if <thingspeak API - Last Execution Expiry> greater than now
send email <it seems script1234> failed
Wenn dies für Sie nicht angemessen ist oder Sie dies mit der Änderung Ihres Skripts kombinieren können, um es zu Beginn zu veröffentlichen, um ein Statusflag zu löschen, melden Sie effektiv, dass "Skript 1 gestartet wird", und zeichnen Sie optional die Zeit auf, zu der es gestartet wurde.
Jetzt, da es eine Start- und eine Endzeit gibt, können Sie überwachen, ob (End-Start)
mehr als x Stunden erforderlich sind, um festzustellen, ob die Ausführung des Skripts zu lange gedauert hat oder ob Start > End
das Skript noch ausgeführt wird oder nicht abgeschlossen werden konnte.
Auf diese Weise möchte ich diese Art von Fragen nicht wirklich beantworten, da wir bestimmte Produkte nicht wirklich unterstützen sollten, aber ich möchte in diesem Fall eine Ausnahme machen. Es gibt viele kostenlose und kostenpflichtige Dienste, die Sie für diese Aufgabe verwenden können. Verwenden Sie Bing oder Google, um sie zu finden :)
Ich benutze die Bizeo- Plattform für diese Art der Überwachung.
Ich bin nicht mit diesem Produkt verbunden, aber sehr zufrieden damit
Es gibt viele Vorlagen, von denen eine regelmäßig einen REST-Endpunkt anpingt und die Antwort bearbeitet, sodass Sie direkt auf die Thingspeak-API abzielen können. Es gibt einige andere einfache Vorlagen, die von Benutzern bearbeitet werden sollen, selbst wenn E-Mails als Auslöser verwendet werden oder wenn in einem bestimmten Zeitraum keine E-Mail vorhanden ist. Die SMS-Benachrichtigungen oder E-Mails, wenn die Frist nicht eingehalten wird, sind einfach einzurichten.
Sie können Ihre Benachrichtigung also direkt an diesen Dienst senden, entweder als E-Mail von Ihrem Gerät, oder Sie können die REST-API verwenden, um eine Benachrichtigung zu senden, dass das Skript abgeschlossen wurde.