3 Star 2 Fork 1

fotomxq/weeekj_core

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
run_mqtt.go 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
fotomxq 提交于 2025-02-05 18:52 +08:00 . 修改项目路径;
package AnalysisAny
import (
CoreFilter "gitee.com/fotomxq/weeekj_core/v5/core/filter"
CoreLog "gitee.com/fotomxq/weeekj_core/v5/core/log"
CoreSQL "gitee.com/fotomxq/weeekj_core/v5/core/sql"
Router2SystemConfig "gitee.com/fotomxq/weeekj_core/v5/router2/system_config"
)
// 自动推送MQTT数据包
// Deprecated 废弃
func runMQTT() {
//捕捉异常
defer func() {
if r := recover(); r != nil {
CoreLog.Error("analysis any run, auto push mqtt, ", r)
}
}()
//批量获取配置
limit := 5
step := 0
for {
var configList []FieldsConfig
err := Router2SystemConfig.MainDB.Select(&configList, "SELECT id, mqtt_org, mqtt_user, mqtt_user, last_mqtt, last_hash FROM analysis_any_config WHERE delete_at < to_timestamp(1000000) AND last_mqtt < $1 LIMIT $2 OFFSET $3", CoreFilter.GetNowTimeCarbon().SubSeconds(10).Time, limit, step)
if err != nil || len(configList) < 1 {
break
}
for _, vConfig := range configList {
//获取数据
var data FieldsAny
err = Router2SystemConfig.MainDB.Get(&data, "SELECT id, create_at, org_id, user_id, bind_id, config_id, hash, data, data_val FROM analysis_any WHERE config_id = $1 ORDER BY id DESC LIMIT 1", vConfig.ID)
if err != nil || data.ID < 1 {
continue
}
if data.Hash == vConfig.LastHash {
continue
}
if data.OrgID > 0 {
//_ = IOTMQTT.PushUpdateData(data.OrgID, "analysis_any", 0)
}
//更新推送时间
_, _ = CoreSQL.UpdateOne(Router2SystemConfig.MainDB.DB, "UPDATE analysis_any_config SET last_mqtt = NOW(), last_hash = :last_hash WHERE id = :id", map[string]interface{}{
"id": vConfig.ID,
"last_hash": data.Hash,
})
}
step += limit
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fotomxq/weeekj_core.git
git@gitee.com:fotomxq/weeekj_core.git
fotomxq
weeekj_core
weeekj_core
v5.4.29

搜索帮助