En primer lugar, una manera simple de monitorear este tipo de condiciones es monitorear cuánto tiempo hace que se completó la última tarea.
En lugar de saber cuándo se debe completar el siguiente script, si sabemos si debe ejecutarse cada 6 horas, ahora solo tenemos que comparar el último tiempo de ejecución con 'ahora', si el número de horas entre los dos (now - lastExecution)
es mayor que 6, luego dispara tu alerta.
simplemente publique la marca de tiempo cuando la tarea / secuencia de comandos se completó por última vez a las cosas altas, ahora simplemente controle esa marca de tiempo en una frecuencia regular, generalmente más pequeña que el período que está tratando de detectar, si alguna vez es mayor que 'x' minutos atrás, enviar la alerta
if <thingspeak API - Last Execution> more than x hours ago
send email <it seems script1234> failed
Si su herramienta de monitoreo no tiene funciones simples de fecha y hora u operaciones lógicas que pueda configurar de la manera anterior ,. cambie su script para informar la marca de tiempo con el período de tiempo 'x' agregado, por lo que si es un script de 6 horas, agregue 6 horas a la marca de tiempo que envía, ahora la lógica de monitoreo es muy simple:
if <thingspeak API - Last Execution Expiry> greater than now
send email <it seems script1234> failed
Si eso no es apropiado para usted, o tal vez pueda combinarlo con la modificación de su secuencia de comandos para publicar al inicio para borrar un indicador de estado, informe efectivamente que "la secuencia de comandos 1 está comenzando" y, opcionalmente, registre la hora en que comenzó.
Ahora que hay una hora de inicio y una hora de finalización, puede monitorear si es (End-Start)
mayor de x horas para determinar si el script tardó en ejecutarse, o si Start > End
el script aún se está ejecutando o no se pudo completar.
Realmente no es así como me gustaría responder a este tipo de preguntas, ya que no deberíamos respaldar productos específicos, pero quiero hacer una excepción en este caso. Hay muchos servicios gratuitos y de pago que puede utilizar para esta tarea. Usa Bing o Google para encontrarlos :)
Yo uso la plataforma Bizeo para este tipo de monitoreo.
No estoy afiliado con este producto, pero estoy muy contento con él.
Hay muchas plantillas allí, una hará ping periódicamente a un punto final REST y operará en la respuesta, por lo que puede apuntar directamente a la API de Thingspeak. Hay algunas otras plantillas simples destinadas a ser utilizadas por los usuarios, incluso utilizando correos electrónicos como desencadenante, o la falta de un correo electrónico en un determinado período de tiempo. Las alertas de SMS o correos electrónicos cuando se vence el plazo son fáciles de configurar.
Por lo tanto, puede enviar su notificación a ese servicio directamente, ya sea como un correo electrónico desde su dispositivo, o puede usar su API REST para enviar una notificación de que el script se completó.