skynet:给debug console添加搜索功能

skynet:给debug console添加搜索功能

为什么要给skynet的debug console添加搜索功能?

  • 使用skynet一段时间后,发现,在动态创建skynet service的情况下,如果service很多,有时很难找到我们想要找到我们要找的那个skynet服务,用skynet的list命令会罗列所有的服务,因此我们需要像grep,ag这样的命令功能来搜索skynet的服务。

实现搜索命令ag

local function get_all_list(key_string)
    local table_list={}
    local all_services = skynet.call(".launcher", "lua", "LIST")
    local count = 0
    for k,v in pairs(all_services) do
        if string.match(k, key_string) or string.match(v, key_string) then
            table_list[k] = v
            count = count + 1
        end
    end
    table_list["total_count"] = count
    return table_list
end

function COMMAND.ag(key_string)
    if key_string == nil then
        skynet.error("ag nil string:")
        return nil
    end
    skynet.error("ag:",key_string)
    return get_all_list(key_string)
end
  • 查找包含vip字段的服务
ag vip
:0000003b       snlua vip_service
:0000003c       snlua vip_agent 1
total_count     2
<CMD OK>
  • 查找包含3b的服务
ag 3b
:0000003b       snlua vip_service
total_count     1
<CMD OK>

  • 扫描下方二维码,关注我的公众号,获取更多技术方面的知识
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打杂程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值