sounds to me like a use case for akka-streams:
http://akka.io/news/2014/09/12/akka-streams-0.7-released.html
note that akka-streams is still in development preview. if you don't
want to hitch your cart to it yet, why don't you modify the storage
actor to send an Ack message back upstream to the reader actor,
signalling readiness to read more data?
-Michael
On 10/02/14 08:22, tigerfoot wrote:
Hello,
I have a system that does the following: read/parse from a huge
(150+GB) file of data, run sanity/cleaning operations, and store the
cleaned records in my DB.
I've got this configured using actors such that each time I read an
object from the input file I send a message to the cleaner actor.
When that object is cleaned I send a
message to the storage actor. (The real application is more complex
but this example illustrates the problem.)
read --> clean --> store
Simple on the surface. My problem is that each of these operations
takes different amounts of time. Reading takes say 2 time unit,
leaning takes 1, and storage takes 4.
That means I've got a bottleneck on storage and even if I use a
round-robin dispatcher I still run the risk of overflow and data loss
on the mailbox on the storage actor.
Other than massive over-provision of storage actors, is there another
way? Can something within the actor ecosystem provide back-pressure
so that I can slow down
the reader just enough to keep the pipeline clean?
Thanks,
Greg
--
>>>>>>>>>> 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 [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.