Skip to content

Commit c532f19

Browse files
committed
feat: optimize task scheduling frequency and request control
- adjust the status check task interval from 15 seconds to 20 seconds - add early return for file scanning tasks when no changes are detected - add a 100ms delay to embedding processing and status check services to control request frequency
1 parent a62374c commit c532f19

File tree

4 files changed

+11
-1
lines changed

4 files changed

+11
-1
lines changed

cmd/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ func main() {
169169
// Initialize job layer
170170
fileScanJob := job.NewFileScanJob(fileScanService, storageManager, syncRepo, appLogger, 5*time.Minute)
171171
eventProcessorJob := job.NewEventProcessorJob(appLogger, syncRepo, embeddingProcessService, codegraphProcessor, 30*time.Second, storageManager)
172-
statusCheckerJob := job.NewStatusCheckerJob(embeddingStatusService, storageManager, syncRepo, appLogger, 15*time.Second)
172+
statusCheckerJob := job.NewStatusCheckerJob(embeddingStatusService, storageManager, syncRepo, appLogger, 20*time.Second)
173173
eventCleanerJob := job.NewEventCleanerJob(eventRepo, appLogger)
174174
indexCleanJob := job.NewIndexCleanJob(appLogger, indexer, workspaceRepo, storageManager, codebaseEmbeddingRepo, syncRepo, eventRepo)
175175
// Initialize handler layer

internal/job/file_scanner_job.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ func (j *FileScanJob) scanWorkspace(workspace *model.Workspace) error {
158158
if err != nil {
159159
return fmt.Errorf("failed to detect file changes: %w", err)
160160
}
161+
if len(events) == 0 {
162+
j.logger.Debug("no file changes detected in workspace: %s", workspace.WorkspacePath)
163+
return nil
164+
}
161165

162166
j.logger.Info("detected %d file changes in workspace: %s", len(events), workspace.WorkspacePath)
163167

internal/service/embedding_processor.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ func (ep *embeddingProcessService) processBatchAddModifyEvents(ctx context.Conte
324324
// 继续处理下一批,不因单批失败而中断整个处理
325325
continue
326326
}
327+
328+
// 添加延迟控制请求频率
329+
time.Sleep(100 * time.Millisecond)
327330
}
328331

329332
return nil

internal/service/embedding_status.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ func (sc *embeddingStatusService) checkWorkspaceBuildingStates(workspacePath str
219219
if err := sc.processEventsWithFileStatus(workspacePath, syncIdEvents, fileStatusResp); err != nil {
220220
sc.logger.Error("failed to process events with file status for syncId %s: %v", syncId, err)
221221
}
222+
223+
// 添加延迟控制请求频率
224+
time.Sleep(100 * time.Millisecond)
222225
}
223226

224227
return nil

0 commit comments

Comments
 (0)