fix(browser): opening a session ignores ones another process already closed
The worker's adapter still held a session the api process had closed,
so browser.navigate {siteId} from an agent run failed with "该站点/账号
已有未关闭的浏览器会话" (REAL-2 task 4). When the database has no live
session for the profile, stale in-memory ones are marked closed before
opening. Needs image rebuild.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
e53d05a872
commit
c115676e23
2 files changed
+9
-1
No files matched your search
@@ -677,6 +677,9 @@ export class BrowserService {
|
||||
}
|
||||
const budget = this.budgetFor(site, prow);
|
||||
const provider = this.providerFor(prow);
|
||||
// 数据库里已没有未关闭的会话:本进程内存里同 profile 还开着的是别的进程关掉的,标关闭,否则适配器拒绝新开
|
||||
for (const m of await provider.listSessions())
|
||||
if (m.profileKey === profileKey && m.controller !== "closed") provider.setController(m.id, "closed");
|
||||
await this.rateLimit(site);
|
||||
let res: Awaited<ReturnType<BrowserProvider["openSession"]>>;
|
||||
try {
|
||||
|
||||
Reference in new issue
Block a user