Thanks Tim, I'll have a look at that.

To clarify my use case, I was thinking of events that can be processed
sequentially but that may take a non-trivial amount of time to
complete (both CPU and IO bound at different stages of processing) so
it's ideal to have a thread pool to process different tasks in
parallel, even though they are independent. (That's step one. Step two
will be spreading that "thread pool" out over multiple JVMs running on
different hardware).

On Jan 22, 2:39 am, Timothy Pratley <timothyprat...@gmail.com> wrote:
> Hi Greg
>
> Here is a proof of concept of one approach you could 
> take:http://groups.google.com/group/clojure/web/job-queue.clj
>
> A set of agents are maintained to represent computation jobs. When the
> results are gathered, the agent is thrown away. I think using multiple
> agents in this way could be quite convenient as it means the jobs can
> be done in parallel.
>
> If you run the script from the command line you should get something
> like this:
> C:\java>clj job-queue.clj
> (4 3)
> (0 nil Hi mum)
> Which are the results of multiple queued computations taken at two
> subsequent points in time.
>
> From your post it wasn't clear to me if your 'events' imply sequential
> processing (which could be achieved with a single agent).
>
> Regards,
> Tim.
--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to