Berin Loritsch wrote:
>
> Stefano Mazzocchi wrote:
>
> > Thanks for the patch, but now I wonder: should we make this a more
> > general component?
> >
> > I mean, sort of a 'heartbeat' thread in background does all sort of
> > time-dependent things (cleaning up the cache, flush buffers, and so on)
> >
> > What do you people think?
>
> I am working on that in Excalibur. This is the whole push for asynchronous
> management I have been trying to sell everyone on. I already have some
> Queues set up that are very efficient, the next part is writing the code
> that manages the CommandQueue using a ThreadPool. The implementation will
> allow for 3 types of "Commands" to be run:
>
> 1) Run now commands--add the callback to the queue and at the next oportunity
> we execute the command (run only once).
> 2) Delayed run-once commands--add the callback to the queue and after a
> specified period of time we execute it.
> 3) Repeated delayed commands--add the callback to the queue and after a
> specified period of time we execute it. After that we place it back
> in the queue with the new delay.
>
> Commands in case 1 would be like asynchronous initialization code. It is
>
> feasible to have a finite number of threads initializing all the components
> asynchronously. This would speed the overall setup time for Cocoon. Some
> Components are quick to set up, while others are more expensive.
>
> Commands in case 2 would be for cache management, or automatically expiring
> a resource after a certain period of time.
>
> Commands in case 3 would be for routine maintenance of pools, etc.
>
> This is also part of a generic Container implementation that I am creating
> that takes advantage of all this power--and makes it easier to create
> new Containers.
Way Cool.
Please, let us know when you are finished and how to use it.
--
Stefano Mazzocchi One must still have chaos in oneself to be
able to give birth to a dancing star.
<[EMAIL PROTECTED]> Friedrich Nietzsche
--------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]