Pulse is a source primitive that can be used to periodically send data to your pipeline. This can be useful for testing or for creating a periodic job.

To create a Pulse source provide:

ArgDescription
itemsThe items to be sent. Will start from the first item in the list and iterate through. When the end of the list is hit it will start over.
pulse_interval_secondsNumber of seconds to wait in-between sending items

from buildflow.io.local import Pulse

@app.consumer(source=Pulse([1, 2, 3], pulse_interval_seconds=1), sink=...)
def process(elem: int):
    ...

Types

The input type to your processor will be whatever you provided in the items list.