mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-23 05:25:53 +08:00
feat(server): auto index all workspaces to indexer (#12205)
close CLOUD-207 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced automated periodic indexing of workspaces with a new job type and a scheduled cron job running every 30 seconds. - Added a unique sequential identifier (`sid`) and an "indexed" flag to workspaces to track indexing status. - **Improvements** - Enhanced workspace indexing to handle missing workspaces and snapshots distinctly and selectively index documents. - Added ability to query workspaces after a given identifier with result limits. - **Bug Fixes** - Improved error handling and logging during workspace indexing operations. - **Tests** - Expanded test coverage for workspace indexing and auto-indexing, including scheduling and edge cases. - **Chores** - Updated data models and schema to support new workspace fields and indexing features. - Enhanced mock data utilities to allow custom timestamps. - Improved type safety and flexibility in document snapshot retrieval. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -161,7 +161,12 @@ export class JobExecutor implements OnModuleDestroy {
|
||||
async handleJobReturn(job: Job, result: JOB_SIGNAL) {
|
||||
if (result === JOB_SIGNAL.Repeat || result === JOB_SIGNAL.Retry) {
|
||||
try {
|
||||
await this.getQueue(job.name).add(job.name, job.data, job.opts);
|
||||
await this.getQueue(namespace(job.name as JobName)).add(
|
||||
job.name,
|
||||
job.data,
|
||||
job.opts
|
||||
);
|
||||
this.logger.debug(`Added job [${job.name}] to queue, signal=${result}`);
|
||||
} catch (e) {
|
||||
this.logger.error(`Failed to add job [${job.name}]`, e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user