首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器数据库监控

服务器数据库监控
EN

Stack Overflow用户
提问于 2016-01-12 00:50:33
回答 1查看 63关注 0票数 0

我正在做一个物联网项目。我得到了一个带有各种传感器的树莓派,这个树莓派每分钟都会在SQL Server数据库上写入数据。我有一个ruby on rails的平台,用户可以看到数据。我想创建一个新的功能,用户可以创建多个警报。我在一个用户定义警报的应用程序页面中得到了一个表单。

示例:用户将星期五的最高温度设置为23º。如果周五温度高达23º,用户会收到一条消息(这是一个简单的警报,但可能更难)。

我该怎么做呢?

我不想在SQL服务器中创建触发器,因为查询可能很难(我没有SQL Server的经验)。

EN

回答 1

Stack Overflow用户

发布于 2016-01-12 02:03:15

我这样做的方式是使用调度程序,例如https://github.com/jmettraux/rufus-scheduler,并让它调用一个静态方法,该方法检查是否满足每个警报条件,然后发送一条消息。

你的模型可能是

AlarmType -具有多个类的STI - AlarmIfTemperatureTooHigh、AlarmPrecipiations等。

一个警报类,属于用户和belongs_to AlarmType,包含为用户设置的参数-因此AlarmTemperature可能有一个最高温度,例如作为一个变量。

然后,从调度器中,它将每隔x分钟(无论您想要什么)调用一个静态方法,该方法将迭代通过AlarmTypes,反过来,将迭代属于它的告警,如果满足条件,则向用户(也属于该告警)发送消息。由于AlertType是一种AlertType,因此您可以使用不同的方法来评估每个STI的数据,并且可以使用任意数量的STI,可以使用任意多的STI,可以使用任意复杂的STI。我会从简单的开始。:)

STI可能有点矛盾,但对我来说,我喜欢有一首单曲:

代码语言:javascript
复制
has_many :alarm_types.

alarm_types.all do |alarm_type|
  alarm_type.run
end

而不必在每次添加新的警报类型时重新查看代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34726883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档