First thanks for reply. if I use only one agent does it mean that the agent process one message by one?
Thanks Zlaja On Mon, Feb 28, 2011 at 4:26 PM, Ken Wesson <kwess...@gmail.com> wrote: > On Mon, Feb 28, 2011 at 9:34 AM, Zlaja <zlatko.jo...@gmail.com> wrote: > > Hi, > > > > How I can achieve master worker pattern in clojure with agents. > > For example I have components that write messages to a queue. > > I would like to process messages parallel by agents. Is it posible? > > > > Thanks > > It may be possible to be even simpler than that and use the implicit > agent job queue. > > Potentially, as simple as just using (send agt process-message > the-message), or (send-off agt process-message the-message). If > process-message needs to work with a context object (e.g. an HTTP > session or DB connection), or update a data structure, just return > this object (or an updated version of it) and have it be the agent's > state. If process-message is stateless or all its state is bound up in > I/O (e.g. database tables) with a global connection (e.g. *db*), just > keep the agent's state nil -- create it with (agent nil) and make sure > process-message always returns nil (otherwise, the agent may hang onto > random, disused objects, preventing their eligibility for GC, which > may waste substantial amounts of heap if these are sometimes large; a > lot of functions you may call for their side effects nonetheless > return a value of some kind, though others, like println, do not). > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en