How many examples are there in your stream? If your stream only consists of one batch, what you're seeing makes sense – see this thread for background on this:
By default, Prodigy won't just loop over your data infinitely either – because in most cases, this isn't really useful and there should be a clear indicator that all batches have been sent out. But Prodigy's streams are Python generators, so you could just use your own script that re-populates the stream once it's exhausted and pipe that forward into the recipe. See this section on custom loaders for an example.