DolphinDB:如何一次取消指定流表的所有订阅?

问题描述 投票:0回答:1

我用Grafana订阅了一个流表,但我不知道这个订阅的actionName。如何取消该表的所有订阅?

streaming subscription dolphindb
1个回答
0
投票

您可以使用功能

getStreamingStat
获取订阅状态。然后使用用户定义的函数一次性取消指定表的所有订阅,如下脚本所示:

def unsubscribeAll(tabName) {
    t = getStreamingStat().pubTables

    for(row in t){
        if(string(row.actions).startsWith("[")) {
            actions = split(substr(row.actions, 1, strlen(row.actions)-2), ",")
        } else {
            actions = [].append!(row.actions)
        }

        for(action in actions){
            unsubscribeTable(tableName=tabName, actionName=action)
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.