Files
DadaoTask/backend/app
Steven f6e7616756
CI / backend (push) Canceled after 0s
fix(integrations): 「接收中」跨进程一致,不再跟着 gunicorn 进程抖动
上一版用 `manager.polling()` 判"有没有人在收消息",那是进程内状态:请求落到持有者
回答 true、落到备用进程回答 false,页面上就会每两秒闪一次"已停止"。

改成查数据库里的 advisory lock(`pg_locks`,objsubid=2 的两段式锁),谁抢到租约所有
进程都看得见。`lease_held()` 自己开一条短会话查,不复用请求会话——接口里常在
`await session.commit()` 之后才拼返回值,那时原事务已经关了。
2026-11-05 23:39:33 +08:00
..