Rerun Operator
Rocket.rerun
— Functionrerun(count::Int = -1)
Returns an Observable that mirrors the source Observable with the exception of an error. If the source Observable calls error, this method will resubscribe to the source Observable for a maximum of count
resubscriptions (given as a number parameter) rather than propagating the error call.
Arguments:
count::Int
: Number of retry attempts before failing. Optional. Default is-1
.
Producing
Stream of type <: Subscribable{L}
where L
refers to type of source stream
Examples
using Rocket
source = from(1:3) |> safe() |> map(Int, (d) -> d > 1 ? error("Error") : d) |> rerun(3)
subscribe!(source, logger())
;
# output
[LogActor] Data: 1
[LogActor] Data: 1
[LogActor] Data: 1
[LogActor] Data: 1
[LogActor] Error: ErrorException("Error")
See also: AbstractOperator
, InferableOperator
, catch_error
, logger
, safe
Description
Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted during failed subscriptions. For example, if an Observable fails at first but emits [1, 2]
then succeeds the second time and emits: [1, 2, 3, 4, 5]
then the complete stream of emissions and notifications would be: [1, 2, 1, 2, 3, 4, 5, complete]
.