Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🙋 问题交流。。。 | [Question] 企业微信大批量人员同步问题 #256

Closed
KevinLiu59 opened this issue Oct 9, 2023 · 12 comments
Labels
Inactive question Further information is requested

Comments

@KevinLiu59
Copy link

Question Report

  • 我单位企业微信人员数量约1.4万人,在使用贵项目进行企业微信同步时一直未响应。
  • 目前同步了三次,第一次同步了200多人,第二次同步了4000多人(挂了一晚上),第三次同步了3000多人(挂了一上午),但是始终没有同步完成。正在尝试多同步几次看能不能把所有人同步进来。。。。

你使用了哪个版本? | Which version did you use?

docker-compose

预期行为 | Expected behavior

正常同步所有人员

实际行为 | Actual behavior

点击同步时,界面卡住了,像是在等待接口相应,通过手动查找数据库,是有部分数据进来。但到了一个数量之后就像是卡住了,也不增加数据了,前端也没有任何响应了。
image

image

原因分析(如果可以) | Cause analysis (if possible)

不太确定,查看docker日志没有获得太多有效信息,个人猜测是否接口响应超时了,或者是没有对大批量同步做优化呢?

问题重现步骤 | Steps to reproduce the problem

@KevinLiu59 KevinLiu59 added the question Further information is requested label Oct 9, 2023
@eryajf
Copy link
Member

eryajf commented Oct 9, 2023

您好 @KevinLiu59👋,我已收到您的反馈,我将安排时间考虑您提交的信息并进行回复。-- 这条信息是由自动回复的机器人发出的。

Hello @KevinLiu59. I have received your feedback, and I will arrange time to consider the information you submitted and reply. -- This message is sent by an automatic reply robot.

@eryajf
Copy link
Member

eryajf commented Oct 9, 2023

这的确是此前不曾遇到过的问题。

目前企微这块儿,是先获取部门,之后再获取所有部门下的用户信息。

关于你的这个问题,需要逐步排查一下。

  1. 排查是否企微接口获取用户数据不完整,这个可通过这个工具跑一下看看数据是否完整: https://github.com/eryajf/third-tools/blob/main/wecom/main.go
  2. 如果第一步排查没有问题,那么有可能是后续步骤的问题,这块儿你可以再次手动点击同步,然后浏览器打开检查,看看最后的接口返回,是不是超时了,还是其他错误。目前接口没有做并发,都是串行的,所以是有可能超时的。

@KevinLiu59
Copy link
Author

KevinLiu59 commented Oct 10, 2023

感谢回复,针对你提出的两个排查方法,我做了实现:
1.通过断点调试,看到数据字段是完整的,与企业微信人数匹配。
3c06fbe9fc002cd00e112867ea5adc5
048d27b286eaf29979bfa15cbc330a4
2.通过后续尝试,发现点击同步按钮后,页面还是卡顿,但是会提示一个504错误,错误提示完成后会继续卡顿,必须手动刷新才能恢复正常。
image
3.后续我用Fiddler抓包看接口状况,返回信息如下:
image

通过昨天不断点点点,现在成功同步了10221人,但是剩余的人员一直同步不进来了。。。。
image

@eryajf
Copy link
Member

eryajf commented Oct 10, 2023

你通过docker-compose拉起之后,是直接 IP:PORT 进行访问的吗,如果是这样,那可以docker exec 到前端的容器里,然后编辑Nginx的配置,调大一下超时的配置项。

vi /etc/nginx/conf.d/default.conf

添加配置:

	proxy_connect_timeout   600;
	proxy_send_timeout      600;
	proxy_read_timeout      600;

然后reload服务。

之后同样再次手动点击同步,打开检查,看看接口返回什么错误。

@KevinLiu59
Copy link
Author

我把服务整体重装了一遍,然后按照提示添加了超时配置,现在查看到全部人员已经同步过来了。
image
这次同步没有响应504错误代码了,但是还是一直卡着页面,我就把页面关掉了,过了一会可以看到人数一直在增加,估计是后台正在处理吧。

@KevinLiu59
Copy link
Author

再提一个遇到的问题:是不是现在企业微信更新了接口后,已经不支持获取的手机号或邮箱等字段了?
image
我现在同步出来的手机号都是错误的,不太知道是怎么生成的。
image

有解决方案不?

@eryajf
Copy link
Member

eryajf commented Oct 10, 2023

现在拿到的应该是随机生成的11位数字。

去年企微调整了这个接口: https://developer.work.weixin.qq.com/document/path/90201

使用的依赖的这个组件目前也没有支持:wenerme/go-wecom#3

如果想要拿到这个信息,需要做一些代码开发。

@eryajf
Copy link
Member

eryajf commented Oct 10, 2023

另外你这边方便的话,可以帮忙在这里提交一下信息吗,能够使这个小项目增加一点人气: #18

@KevinLiu59
Copy link
Author

好的,待后续调试完成上线后,我会提交使用登记,感谢!

@wenerme
Copy link

wenerme commented Oct 12, 2023

现在拿到的应该是随机生成的11位数字。

去年企微调整了这个接口: https://developer.work.weixin.qq.com/document/path/90201

使用的依赖的这个组件目前也没有支持:wenerme/go-wecom#3

如果想要拿到这个信息,需要做一些代码开发。

这个只能单个用户逐个操作,如果记得不错,contact 应用可以拿到

@eryajf
Copy link
Member

eryajf commented Oct 13, 2023

contact 应用

请问下,这个应用指的是什么呢

@wenerme
Copy link

wenerme commented Oct 13, 2023

contact 应用

请问下,这个应用指的是什么呢

通讯录同步应用,权限更高

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Inactive question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants