Files
osmedeus/test/testdata/workflows/test-debounce-dedupe.yaml
j3ssie 7de3e7b2b2 feat: add performance optimizations and robustness improvements
- Add lock-free ResultCollector for parallel execution with atomic operations, eliminating mutex contention for pre-allocated slices
- Implement circuit breaker pattern (internal/retry/circuit_breaker) with configurable thresholds and half-open recovery state for fault tolerance
- Introduce json-iterator replacement (internal/json) for 2-6x faster JSON operations while maintaining stdlib compatibility
- Add lazy template rendering (RenderLazy) with variable reference caching for 50-80% faster rendering on large contexts
- Implement memory-efficient buffer pooling (bufpool) with 10MB pre-allocated reusable buffers for reduced GC pressure
- Add LoadFlowWithModules for parallel module pre-loading using errgroup, improving startup time for complex flows
- Add VarRefCache with LRU eviction for variable extraction caching
- Add streaming output support for foreach loops to process large datasets without memory accumulation
- Fix json import compatibility in llm_executor and db_functions
- Update test fixtures with correct YAML field names (call→function, run→command)
2026-01-31 01:26:28 +07:00

45 lines
1.1 KiB
YAML

name: test-debounce-dedupe
kind: module
desc: Test workflow for debounce and deduplication features
params:
- name: output
default: "/tmp/debounce-dedupe-test"
triggers:
# Watch trigger with debounce - waits 500ms after last change before triggering
- name: on-asset-change
on: watch
path: "{{output}}/assets.txt"
debounce: 500ms
enabled: true
# Event trigger with deduplication - ignores duplicate events within 10s window
- name: on-new-asset
on: event
event:
topic: "assets.new"
dedupe_key: "{{event.source}}-{{event.data.url}}"
dedupe_window: 10s
enabled: true
# Event trigger with filters and deduplication
- name: on-critical-vuln
on: event
event:
topic: "vulnerabilities.new"
filters:
- "event.data.severity == 'critical'"
dedupe_key: "{{event.data.template}}-{{event.data.host}}"
dedupe_window: 5m
enabled: true
steps:
- name: log-event
type: function
function: 'log_info("Trigger fired: {{_step_name}}")'
- name: process-target
type: bash
command: echo "Processing target {{target}}"