MCPcopy Create free account
hub / github.com/astercloud/aster / processEventsAsync

Method processEventsAsync

pkg/middleware/logic_memory.go:360–383  ·  view source on GitHub ↗

processEventsAsync 异步处理事件的 goroutine

()

Source from the content-addressed store, hash-verified

358
359// processEventsAsync 异步处理事件的 goroutine
360func (m *LogicMemoryMiddleware) processEventsAsync() {
361 defer m.wg.Done()
362
363 for {
364 select {
365 case <-m.stopCh:
366 // 处理剩余的事件
367 for {
368 select {
369 case event := <-m.eventBuffer:
370 if err := m.manager.ProcessEvent(context.Background(), *event); err != nil {
371 lmLog.Error(context.Background(), "failed to process event", map[string]any{"error": err.Error()})
372 }
373 default:
374 return
375 }
376 }
377 case event := <-m.eventBuffer:
378 if err := m.manager.ProcessEvent(context.Background(), *event); err != nil {
379 lmLog.Error(context.Background(), "failed to process event", map[string]any{"error": err.Error()})
380 }
381 }
382 }
383}
384
385// buildMemorySection 构建 Memory 注入文本
386func (m *LogicMemoryMiddleware) buildMemorySection(memories []*logic.LogicMemory) string {

Callers 1

OnAgentStartMethod · 0.95

Calls 2

ProcessEventMethod · 0.80
ErrorMethod · 0.65

Tested by

no test coverage detected