|
@@ -37,9 +37,6 @@ func PrepareTimeWindowProducerQueue() {
|
|
|
Node: commonConfig.RosNode,
|
|
|
Topic: topic,
|
|
|
Callback: func(data *std_msgs.UInt8) {
|
|
|
- if !canCollect() {
|
|
|
- return
|
|
|
- }
|
|
|
subscribersTimeMutexes[i].Lock()
|
|
|
if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
|
|
|
subscribersMutexes[i].Lock()
|
|
@@ -49,6 +46,9 @@ func PrepareTimeWindowProducerQueue() {
|
|
|
for _, f := range masterConfig.RuleOfObstacleDetection {
|
|
|
faultLabel = f(data)
|
|
|
if faultLabel != "" {
|
|
|
+ if !canCollect() {
|
|
|
+ return
|
|
|
+ }
|
|
|
subscribersTimes[i] = time.Now()
|
|
|
c_log.GlobalLogger.Errorf("触发事件【%v】,开始采集。", faultLabel)
|
|
|
saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
|
|
@@ -145,7 +145,7 @@ func getTopicsOfNode(faultLabel string) (masterTopics []string, slaveTopics []st
|
|
|
func canCollect() bool {
|
|
|
// 如果开启了采集频率限制,则云端判断采集数量是否超过限额
|
|
|
if commonConfig.CloudConfig.CollectLimit.Flag == 1 {
|
|
|
- //c_log.GlobalLogger.Error("当前设备已开启数采频率限制,需判断采集数量是否达到限额。")
|
|
|
+ c_log.GlobalLogger.Error("当前设备已开启数采频率限制,需判断采集数量是否达到限额。")
|
|
|
responseString, err := commonUtil.HttpPostJsonWithHeaders(
|
|
|
commonConfig.CloudConfig.CollectLimit.Url,
|
|
|
map[string]string{"Authorization": "U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM"},
|
|
@@ -172,6 +172,8 @@ func canCollect() bool {
|
|
|
c_log.GlobalLogger.Info("采集数量已超过限额,当前周期内不再采集。", resp.Code)
|
|
|
return false
|
|
|
}
|
|
|
+ } else {
|
|
|
+ c_log.GlobalLogger.Error("当前设备未开启数采频率限制,无需判断采集数量是否达到限额。")
|
|
|
}
|
|
|
|
|
|
// 本地判断是否存在正在处理的数据
|