为关键操作添加去重锁机制,确保并发请求只执行一次共享结果 重构 provider-pool-manager 使用链式锁保证选择操作的原子性 更新各服务提供者使用 withDeduplication 替代自定义单例锁
实现文件锁工具类,用于防止多个异步操作同时写入同一文件导致的竞争条件。修改各认证模块的凭证保存逻辑,在写入文件前获取锁,确保写入操作的原子性。 - 新增 file-lock.js 工具模块,提供 acquireFileLock 和 withFileLock 方法 - 修改所有认证模块的凭证保存逻辑,使用文件锁保护写入操作 - 添加适当的错误处理和锁释放机制,确保资源不会泄漏