access_token重复更新问题

来源:

快乐佳佳林

2016-10-03

获取access_token的代码部分,提供了被动刷新access_token的功能,用的promsise异步。假如access_token刚好失效,某个接口调用比如uploadMaterial 就会获取access_token然后发现无效然后主动更新,倘若此时有不止一个用户并发访问uploadMaterial接口,岂不是要触发很多次access_token更新?

写回答

2回答

Scott

2016-10-03

对,这个取决于 access_token 的获取时间有多长,在这个获取时间内如果有其他用户也进来调用,会导致多次更新,这里可以做更精细的控制,比如把原来的 JSON 数据里存一个锁 updating: true,如果是要更新,刚好发现已经在更新了,那么就设置一个轮询等待就行了,更新后,再把这个改成 false,也可以存到数据库里的一个状态值等等。


在具体的生产环境中,是需要多考虑下这种更新时机和次序的问题,以及更新和等待时长的问题,多想到一些边界条件,做好预案总是靠谱的

1
2
快乐佳佳林
非常感谢!
2016-10-04
共2条回复

快乐佳佳林

提问者

2016-10-04

学习了

0
0

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程