Hi there,

I am just a newbie on Akka, but as far as I know, you have to expect to not 
recive a new call to onPull until you push something. So you need an 
external "agent" to wake up your GraphStage. One option is to use a timer 
that each time it is executed, it queries the database and, if something is 
found and the outlet is ready (on java DSL, which is the one I use, the 
method is called *isAvailable*). Another option could be to use the 
reactive mongodb driver, open a tailable cursor and then all the magic 
should be automatically done for you. This second option sounds better, but 
I have never used that driver and I don't know if you can use a tailable 
cursor.

If you decide to use the polling version, there I recommend you to check 
the samples on the documentation or even better, to check the Akka Stream 
source code. I am not used to read scala code, but I was able to understand 
the standard flow stages on the github repository, so I am sure you can do 
it.

Bests,

Gonzalo

El miércoles, 7 de septiembre de 2016, 10:37:07 (UTC+2), Ori Popowski 
escribió:
>
> Hi,
>
> We have a GraphStage[SourceShape[?]] with a simple OutHandler which does 
> the following:
>
>    1. Finds a document in MongoDB
>    2. Pushes that document to the outlet using push()
>
> It's possible that the source will not find any documents in the DB at a 
> given moment, but new documents may be arrive later.
>
>
> The problem is that after the first time onPull is called and doesn't 
> push anything to the outlet, then even when new documents are available in 
> the DB, they won't be pushed later.
>
>
> It's like the notion of a demand from downstream just gets lost. I'm 
> obviously missing some API capability to deal with such situation, but I 
> cannot find any material on this.
>
>
> How should we solve such a problem?
>
>
> Thanks
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to