我有一些用例,但仅以一个简单的场景为例。我想监视我的树莓派,并确保某些任务正确完成。我想在脚本中添加一行,以在运行脚本时将确认信息发布到云中。我想我可以做这部分。

我的问题是如何知道任务是否未在预期的时间内完成。与wdt.io对cron作业所做的类似。基本上是某种类型的

if time/date is <past expected completion> then check <thingspeak API> for value returned by script
else send email <it seems script1234> failed


是否有可以在某处检查值的服务?例如,http访问Thingspeak api并根据值进行操作。

评论

您需要了解如何在您选择的云服务中实施看门狗。如果找不到,也许您可​​以安排将来的活动,如果成功就取消活动。然后任何一种方式都可以将另一种方式重新安排到将来。

我正在寻找能够做到这一点或更好的云服务,我正在寻找可以检查某处的值并根据该值采取行动的云服务。如果您或其他人知道这种服务,请告诉我们。

您看过IFTTT吗?

我看过ifttt,但我不知道该如何设置所需的内容。我尝试使用webhooks并从Thingspeak做出反应,但是我不知道如何根据时间/日期和!value进行设置。

使用Thingspeak,您是否可以设置代理数据通道来从Raspberry Pi收集状态标志和经过的时间值?当不运行时,将两者都设置为0,当任务开始时设置为1,并且经过时间。完成后,将标志更改为0,然后将时间恢复为0。然后您的反应可以查找标志= 1,并且经过的时间> X秒/分钟并采取相应措施。

#1 楼

首先,监视这些类型的条件的一种简单方法是监视上一个任务完成多长时间。

如果不知道是否应该每6个小时执行一次脚本,则无需知道下一个脚本应该何时完成,现在我们只需将上一次执行时间与“ now”进行比较即可,如果数字两个(now - lastExecution)之间的小时数大于6,然后触发您的警报。

只需将任务/脚本最后一次完成的时间戳记发布到Thingspeak,现在您只需定期监控该时间戳记,通常小于您尝试检测的时间段,如果大于“ x”分钟前,请发送警报。

if <thingspeak API - Last Execution> more than x hours ago
send email <it seems script1234> failed


如果监视工具没有简单的日期时间功能或可以通过上述方式配置的逻辑运算。更改脚本以报告添加了“ x”时间段的时间戳,因此,如果它是一个6小时的脚本,则将6小时添加到发送的时间戳中,现在监视逻辑非常简单:

if <thingspeak API - Last Execution Expiry> greater than now
send email <it seems script1234> failed


如果这不适合您,或者您可以将其与修改脚本结合起来以在开始时发布以清除状态标志,请有效地报告“脚本1正在启动”,并有选择地记录它的开始时间。

现在有一个开始时间和一个结束时间,您可以监视(End-Start)是否大于x小时,以确定脚本是否花费很长时间执行,或者如果Start > End则脚本仍在执行或未能完成。



我并不是真的想回答这些类型的问题,因为我们不应该真正认可特定的产品,但是在这种情况下,我想例外。您可以使用许多免费和付费服务来完成此任务。使用Bing或Google查找它们:)


我将Bizeo平台用于此类监视。
我与该产品无关,但对此感到非常满意。

其中有很多模板,其中一个模板会定期ping REST端点并根据响应进行操作,因此您可以直接定位Thingspeak api。还有一些其他简单的模板,即使使用电子邮件作为触发条件或在特定时间范围内没有电子邮件,用户也可以操作。错过截止日期时,SMS警报或电子邮件很容易设置。

因此您可以将通知直接发送到该服务,既可以通过设备发送电子邮件,也可以使用其REST API来发送有关脚本已完成的通知。

评论


Thingspeak(或其他基于云的)中是否有一种方法可以进行检查。我正在寻找一种在云中完成所有监视的方式。

– FoxSam12
18-4-5的3:09