Files
Toolbox/dev_test_scripts/debug/debug_clear_lock_now.js
yangxiangyuan d4bf3627fd feat: 新增运动节拍训练工具套件与子工具页面
新增运动节拍RepClock全套小程序页面、后端API与数据库服务,新增subhub子工具汇总页面,优化全局主页样式与配置,为web静态资源添加版本缓存参数,补充配套调试脚本
2026-09-09 14:43:06 +08:00

26 lines
1.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const fs = require('fs')
const path = require('path')
process.chdir('d:/Trae_Files/TRAE-Toolbox')
const db = require(path.join(process.cwd(), 'src/server/mp_rep_clock/db'))
const locks = require(path.join(process.cwd(), 'src/server/mp_rep_clock/locks.js'))
console.log('=== 锁表当前值 ===')
console.log(JSON.stringify(locks.getLockState(), null, 2))
console.log('\n=== rc_sessions status=running 行数 ===')
const cnt = db.getDb().prepare(`SELECT COUNT(*) as c FROM rc_sessions WHERE status='running' AND deleted=0`).get()
console.log('running cnt=', cnt.c)
const rows = db.getDb().prepare(`SELECT id, status, card_id, created_at, updated_at FROM rc_sessions WHERE status='running' AND deleted=0 ORDER BY datetime(created_at) DESC LIMIT 5`).all()
rows.forEach(r => console.log(' -', JSON.stringify(r)))
console.log('\n=== 立即操作:清锁 + 所有 running 转 abandoned ===')
locks.resetRunningLock()
const nowIso = () => new Date().toISOString()
db.getDb().prepare(`UPDATE rc_sessions SET status='abandoned', ended_at=?, updated_at=?, manual_stopped=1 WHERE status='running' AND deleted=0`).run(nowIso(), nowIso())
console.log('\n=== 操作后复检 ===')
console.log('锁表:', JSON.stringify(locks.getLockState(), null, 2))
const cnt2 = db.getDb().prepare(`SELECT COUNT(*) as c FROM rc_sessions WHERE status='running' AND deleted=0`).get()
console.log('running cnt=', cnt2.c, '(应为 0)')