Преглед изворни кода

fix(account): resilient orgs fetch (#16944)

Kit Langton пре 7 месеци
родитељ
комит
a1b06d63c9
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      packages/opencode/src/account/service.ts

+ 7 - 1
packages/opencode/src/account/service.ts

@@ -192,11 +192,17 @@ export class AccountService extends ServiceMap.Service<
 
       const orgsByAccount = Effect.fn("AccountService.orgsByAccount")(function* () {
         const accounts = yield* repo.list()
-        return yield* Effect.forEach(
+        const [errors, results] = yield* Effect.partition(
           accounts,
           (account) => orgs(account.id).pipe(Effect.map((orgs) => ({ account, orgs }))),
           { concurrency: 3 },
         )
+        for (const error of errors) {
+          yield* Effect.logWarning("failed to fetch orgs for account").pipe(
+            Effect.annotateLogs({ error: String(error) }),
+          )
+        }
+        return results
       })
 
       const orgs = Effect.fn("AccountService.orgs")(function* (accountID: AccountID) {