mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
core: fix vudoc fetch and allow more time for worker task
This commit is contained in:
1 parent
5fc04328ad
commit
4cead20f0f
2 files changed
+12
-3
No files matched your search
@@ -70,7 +70,7 @@ class WorkerService extends Service {
|
||||
const start = Date.now();
|
||||
await Promise.race([
|
||||
this.handlers[doc.subType](doc),
|
||||
sleep(300000),
|
||||
sleep(1200000),
|
||||
]);
|
||||
const spent = Date.now() - start;
|
||||
if (spent > 500) logger.warn('Slow worker task (%d ms): %o', spent, doc);
|
||||
|
||||
@@ -346,13 +346,22 @@ class UserModel {
|
||||
}
|
||||
|
||||
static async getListForRender(domainId: string, uids: number[]) {
|
||||
const [udocs, dudocs] = await Promise.all([
|
||||
UserModel.getMulti({ _id: { $in: uids } }, ['_id', 'uname', 'avatar', 'school', 'studentId']).toArray(),
|
||||
const [udocs, vudocs, dudocs] = await Promise.all([
|
||||
UserModel.getMulti({ _id: { $in: uids } }, ['_id', 'uname', 'mail', 'avatar', 'school', 'studentId']).toArray(),
|
||||
collV.find({ _id: { $in: uids } }).toArray(),
|
||||
domain.getDomainUserMulti(domainId, uids).project({ uid: 1, displayName: 1 }).toArray(),
|
||||
]);
|
||||
const udict = {};
|
||||
for (const udoc of udocs) udict[udoc._id] = udoc;
|
||||
for (const udoc of vudocs) udict[udoc._id] = udoc;
|
||||
for (const dudoc of dudocs) udict[dudoc.uid].displayName = dudoc.displayName;
|
||||
for (const uid of uids) udict[uid] ||= { ...UserModel.defaultUser };
|
||||
for (const key in udict) {
|
||||
udict[key].school ||= '';
|
||||
udict[key].studentId ||= '';
|
||||
udict[key].displayName ||= udict[key].uname;
|
||||
udict[key].avatar = `gravatar:${udict[key].mail}`;
|
||||
}
|
||||
return udict as BaseUserDict;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user