pub struct ApiPollSource { /* private fields */ }Expand description
Polls an HTTP endpoint at a fixed interval, emitting each JSON response body as the envelope payload. Logs a warning when an iteration exceeds the configured interval.
When retry is configured, consecutive fetch failures schedule the
next attempt sooner than the normal cadence — see PollScheduler for
the exact rule.
Implementations§
Source§impl ApiPollSource
impl ApiPollSource
pub fn new( id: impl Into<String>, url: impl Into<String>, poll_interval: Duration, ) -> Self
pub fn with_retry(self, retry: RetryPolicy) -> Self
Trait Implementations§
Source§impl Source for ApiPollSource
impl Source for ApiPollSource
fn id(&self) -> &str
Source§fn set_node_ctx(&mut self, ctx: NodeCtx)
fn set_node_ctx(&mut self, ctx: NodeCtx)
Attach the per-node observability context. Called by
spawn_pipeline after the source is built but before it runs.
Default no-op for custom sources that do not use SourceCtx.fn run<'async_trait>(
self: Box<Self>,
tx: Sender<Envelope>,
cancel: CancellationToken,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
Auto Trait Implementations§
impl Freeze for ApiPollSource
impl !RefUnwindSafe for ApiPollSource
impl Send for ApiPollSource
impl Sync for ApiPollSource
impl Unpin for ApiPollSource
impl UnsafeUnpin for ApiPollSource
impl !UnwindSafe for ApiPollSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request