
reqon
Use when writing or editing .vague files for Reqon declarative API data pipelines
提供方 mcclowes|开源
Reqon
Declarative DSL for fetch, map, validate pipelines. File extensions: .vague or
.reqon (the loader tries .vague first).
Quick Start
mission SyncData {
source API { auth: bearer, base: "https://api.example.com" }
store items: memory("items")
action Fetch {
get "/items" { paginate: page(page, 100), until: length(response) == 0 }
store response -> items { key: .id }
}
run Fetch
}
Core Constructs
mission- Pipeline container (sources, stores, schemas, actions, schedule)source- API: auth, base, headers, validateResponses, rateLimit, circuitBreaker, proxy. Auth is bearer/basic/api_key/oauth2/none, all four wired to a provider. A type configured without its credentials throws at source init rather than sending an unauthenticated requestproxy: [...]- Egress proxy pool, rotated per request; limiter/breaker keyed per IPsource Name from "./spec.yaml"- OAS-based sourcestore- Storage:memory("name"),file("name")(writes.reqon-data/name.json),postgrest("table").sql()/nosql()have no adapter and throw unless--devfalls them back to local JSONaction- Pipeline step: fetch, map, validate, store, waitrun [A, B] then C- Parallel then sequential executionmatch response { Schema -> ..., _ -> skip }- Pattern matchingfor item in store where .active { ... }- Iteration with filterfor item in store concurrency 8 { ... }- Bounded concurrent iteration (default 1)call Source.operationId- OAS-based fetch by operationIdwait { timeout, path, eventFilter, storage }- Webhook/callback waitingschedule: every N hoursorschedule: cron "..."orschedule: at "datetime"
Flow Control
continue, skip, abort "msg", retry {...}, queue dlq, jump Action then retry
Reference Files
- references/syntax.md - Full DSL syntax
- references/examples.md - Complete examples