FIWARE的订阅不通知
FIWARE's subscription do not notify
我有多个不同实体的订阅,并且在某个随机时间停止通知其中一个订阅。
这是因为以后设置了lastNotification
属性。这是一个例子:
curl 'http://localhost:1026/v2/subscriptions/xxxxxxxxxxxxxxx'
{
"id": "xxxxxxxxxxxxxxx",
...
"status": "active",
...
"notification": {
"timesSent": 1316413,
"lastNotification": "2021-01-20T18:33:39.000Z",
...
"lastFailure": "2021-01-18T12:11:26.000Z",
"lastFailureReason": "Timeout was reached",
"lastSuccess": "2021-01-20T17:12:09.000Z",
"lastSuccessCode": 204
}
}
在这个例子中,lastNotification
是提前的。直到2021-01-20T18:33:39.000Z才再次通知订阅。
我试图修改 mongo 数据库中的 lastNotification
,但这并没有改变它。看起来值 2021-01-20T18:33:39.000Z 被缓存了。
字段 lastFailureReason
指定与该订阅关联的最后一次通知失败的原因。 diagnose notification reception problems section in the documentation 解释了 “已达到超时” 的可能原因。如果您的网络连接不稳定,让这个随机失败是有意义的。
关于未来的时间戳(无论它发生在 lastNotification
、lastFailure
还是 lastSuccess
)非常奇怪,可能与 Orion Context Broker 操作无关。 Orion 从 运行ning 系统的内部时钟获取时间戳,因此您的系统时钟可能会在将来设置。
除非您 运行 使用 -noCache
的 Orion Context Broker(通常 is not recommended),否则订阅会被缓存。因此,如果您在数据库中“破解”它们,您将在下次缓存刷新之前看不到效果(刷新定期发生,由 -subCacheIval
参数定义)。
我有多个不同实体的订阅,并且在某个随机时间停止通知其中一个订阅。
这是因为以后设置了lastNotification
属性。这是一个例子:
curl 'http://localhost:1026/v2/subscriptions/xxxxxxxxxxxxxxx'
{
"id": "xxxxxxxxxxxxxxx",
...
"status": "active",
...
"notification": {
"timesSent": 1316413,
"lastNotification": "2021-01-20T18:33:39.000Z",
...
"lastFailure": "2021-01-18T12:11:26.000Z",
"lastFailureReason": "Timeout was reached",
"lastSuccess": "2021-01-20T17:12:09.000Z",
"lastSuccessCode": 204
}
}
在这个例子中,lastNotification
是提前的。直到2021-01-20T18:33:39.000Z才再次通知订阅。
我试图修改 mongo 数据库中的 lastNotification
,但这并没有改变它。看起来值 2021-01-20T18:33:39.000Z 被缓存了。
字段 lastFailureReason
指定与该订阅关联的最后一次通知失败的原因。 diagnose notification reception problems section in the documentation 解释了 “已达到超时” 的可能原因。如果您的网络连接不稳定,让这个随机失败是有意义的。
关于未来的时间戳(无论它发生在 lastNotification
、lastFailure
还是 lastSuccess
)非常奇怪,可能与 Orion Context Broker 操作无关。 Orion 从 运行ning 系统的内部时钟获取时间戳,因此您的系统时钟可能会在将来设置。
除非您 运行 使用 -noCache
的 Orion Context Broker(通常 is not recommended),否则订阅会被缓存。因此,如果您在数据库中“破解”它们,您将在下次缓存刷新之前看不到效果(刷新定期发生,由 -subCacheIval
参数定义)。