状况描述
最近要触发一个动作后给钉钉发送一个消息,然而每次都提示系统繁忙,本地DEBUG又每次都正常,这就尴尬了,更尴尬的是消息居然发生成功了。
网友的状况
网上一搜索此类的状态一大堆,最终的结论无非就是几类,1:参数错误, 2:ContentType错误,3:你太垃圾。
网络调试
已经在自己服务器上用mitmproy进行调试了,果然每次都出错,检查参数本地调试一切OK,没错啊。每次都让我怀疑人生,几行代码来来回回折腾几个小时。
最终发现问题
手贱点了一下reply,结果是没问题的,于是我就开始怀疑是不是阿里的服务太傻逼。
请求消息体如下:
{
"at": {
"atMobiles": [],
"isAtAll": false
},
"markdown": {
"text": "**已关闭**\n\n时间: 2022-01-08 08:56:32.7465",
"title": "已关闭"
},
"msgtype": "markdown"
}
"at": {
"atMobiles": [],
"isAtAll": false
},
"markdown": {
"text": "**已关闭**\n\n时间: 2022-01-08 08:56:32.7465",
"title": "已关闭"
},
"msgtype": "markdown"
}
这里发送了一张图片过去,图片是阿里直接在服务器下载的。每次消息发送成功说明服务器是有下载的,但是呢图片是没有缓存的,第一次下载耗时比较久,阿里等不了这么久就直接报错了,而且还是这种迷迷糊糊的报错。第二次成功的原因就是它有缓存了啊,肯定就快了啊,然后就正常了,此处一万只马路过。
解决方案
图片换个地方存储就行了,面对几个选择,1:阿里云oss(太贵),2:其他oss(太贵)。第三方存储都太贵了,只能随便找个服务器存着,然后过几分钟删除完事。
最终
还没写逻辑,太恶心了,你直接支持上传图片会死啊,迟早倒闭。
1条评论在“钉钉机器人始终 “errcode”:-1,”errmsg”:”系统繁忙””