Skip to content

Commit

Permalink
Improve fallback query speed
Browse files Browse the repository at this point in the history
  • Loading branch information
qianlifeng committed May 6, 2024
1 parent f5bc0b6 commit 8163f86
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions Wox/plugin/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -579,8 +579,15 @@ func (m *Manager) Query(ctx context.Context, query Query) (results chan []QueryR
counter := &atomic.Int32{}
counter.Store(int32(len(m.instances)))

for _, instance := range m.instances {
pluginInstance := instance
for _, pluginInstance := range m.instances {
if !m.canOperateQuery(ctx, pluginInstance, query) {
counter.Add(-1)
if counter.Load() == 0 {
done <- true
}
continue
}

if pluginInstance.Metadata.IsSupportFeature(MetadataFeatureDebounce) {
debounceParams, err := pluginInstance.Metadata.GetFeatureParamsForDebounce()
if err == nil {
Expand Down Expand Up @@ -641,14 +648,6 @@ func (m *Manager) QueryFallback(ctx context.Context, query Query) (results []Que

func (m *Manager) queryParallel(ctx context.Context, pluginInstance *Instance, query Query, results chan []QueryResultUI, done chan bool, counter *atomic.Int32) {
util.Go(ctx, fmt.Sprintf("[%s] parallel query", pluginInstance.Metadata.Name), func() {
if !m.canOperateQuery(ctx, pluginInstance, query) {
counter.Add(-1)
if counter.Load() == 0 {
done <- true
}
return
}

queryResults := m.queryForPlugin(ctx, pluginInstance, query)
results <- lo.Map(queryResults, func(item QueryResult, index int) QueryResultUI {
return item.ToUI()
Expand Down

0 comments on commit 8163f86

Please sign in to comment.