mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-09-13 21:27:47 +02:00
- 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)
45 lines
1.1 KiB
YAML
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}}"
|