用客服消息 在做一个 微信生成海报的功能,用户点击菜单,需要生成二维码海报,然后推送给用户,由于生成需要加二维码和头像水印所以需要几秒时间。容易超时 。
微信超时就会重复提交 微信官方是这样解释的:
假如服务器无法保证在五秒内处理并回复,必须做下述回复,微信服务器不会对此作任何处理,并且不会发起重试。
1、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)
2、直接回复success
这里的直接回复空串具体怎么处理的?
echo "";echo NULL; echo success试了都不行,过了5秒还是会重试
我现在是要给用户发一段文字,然后发一张图片,由于发图片时间长,结果文字总是被发了好几遍,怎么解决?
现在做了一下 缓存6秒的时候 好像是可以的 但是这个时间有没有可以优化的 已解决 优化时间的话 只能多线程了
不知道你使用哪种编程语言,但这里的直接回复success的意思,是指当微信发送请求过来时,你直接输入一个success的字符串给他就行了,这样他就不会重试。
然后,当你生成好以后,再调用发送客服消息,将图片发送给对方。
大概就是如此。
=====UPDATE======
如果这个判断我没有理解错,是指用户第一次是会执行
if
后面的生成动作的吧,此时微信服务器在5秒内未收到,就会再次重试了。换句放说,你这个永远都会被重试。
相对于合理的是当接收到要生成图片的事件消息时,先记录下来,然后立刻返回
success
。然后通过【多线程、消息等】其他手段去处理生成动作,最后再通过客服消息把图片发现给他。