MCPcopy Create free account
hub / github.com/Rfym21/Qwen2API / loadAccounts

Method loadAccounts

src/utils/data-persistence.js:26–43  ·  view source on GitHub ↗

* 加载所有账户数据 * @returns {Promise } 账户列表

()

Source from the content-addressed store, hash-verified

24let tmpFileCounter = 0
25let lastBackupAt = 0
26
27/**
28 * 把一次文件读写排入串行队列
29 * @param {Function} task - 返回 Promise 的任务
30 * @returns {Promise<*>} 任务结果
31 */
32const enqueueFileTask = (task) => {
33 const result = fileWriteQueue.then(task, task)
34 // 队列本身不能因为单次失败而中断
35 fileWriteQueue = result.then(() => { }, () => { })
36 return result
37}
38
39const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms))
40
41class DataPersistence {
42 constructor() {
43 this.dataFilePath = path.join(__dirname, '../../data/data.json')
44 // 最近一次「解析成功」的快照,用于文件损坏时自愈
45 this.backupFilePath = `${this.dataFilePath}.bak`
46 // 每个 email 的待持久化 stats 与定时器(debounce)

Callers 1

loadAccountTokensMethod · 0.80

Calls 4

_loadFromRedisMethod · 0.95
_loadFromFileMethod · 0.95
_loadFromEnvMethod · 0.95
errorMethod · 0.80

Tested by

no test coverage detected