I like the example, and I should be able to adapt it. I do have one question about the example (probably not related to agents:
; queue up some work to be done (defn add-job [func] (let [a (agent nil)] (send a (fn [_] (func))) (swap! jobs #(conj %1 a)))) What is the notation fn [_]? I can't seem to find any documentation for what _ as a function argument means... On Jan 22, 6:14 am, Greg Harman <ghar...@gmail.com> wrote: > 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 -~----------~----~----~----~------~----~------~--~---