mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
chore(server): add auto index batch size (#12391)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a configurable batch size setting for automatic workspace indexing. Users can now adjust how many workspaces are indexed per batch, with a default value of 10 and support for values between 1 and 1000. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -19,6 +19,9 @@ declare global {
|
||||
username: string;
|
||||
password: string;
|
||||
};
|
||||
autoIndex: {
|
||||
batchSize: number;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -58,4 +61,9 @@ defineModuleConfig('indexer', {
|
||||
default: '',
|
||||
env: ['AFFINE_INDEXER_SEARCH_PASSWORD', 'string'],
|
||||
},
|
||||
'autoIndex.batchSize': {
|
||||
desc: 'Number of workspaces automatically indexed per batch',
|
||||
default: 10,
|
||||
shape: z.number().int().positive().max(1000),
|
||||
},
|
||||
});
|
||||
|
||||
@@ -121,7 +121,7 @@ export class IndexerJob {
|
||||
indexed: true,
|
||||
});
|
||||
}
|
||||
this.logger.debug(
|
||||
this.logger.log(
|
||||
`indexed workspace ${workspaceId} with ${missingDocIds.length} missing docs and ${deletedDocIds.length} deleted docs`
|
||||
);
|
||||
}
|
||||
@@ -138,7 +138,10 @@ export class IndexerJob {
|
||||
@OnJob('indexer.autoIndexWorkspaces')
|
||||
async autoIndexWorkspaces(payload: Jobs['indexer.autoIndexWorkspaces']) {
|
||||
const startSid = payload.lastIndexedWorkspaceSid ?? 0;
|
||||
const workspaces = await this.models.workspace.listAfterSid(startSid, 100);
|
||||
const workspaces = await this.models.workspace.listAfterSid(
|
||||
startSid,
|
||||
this.config.indexer.autoIndex.batchSize
|
||||
);
|
||||
if (workspaces.length === 0) {
|
||||
// Keep the current sid value when repeating
|
||||
return JOB_SIGNAL.Repeat;
|
||||
|
||||
Reference in New Issue
Block a user