Thanks for your contributions.
I will read the chapter :)

Stef

On 23/6/14 00:39, Santiago Bragagnolo wrote:

Hi all, im glad to announce TaskIT. You may already knew about, after all it's not confidential ;) and it has documentation on-going since some months ago.

Task IT is package that provides a cool way to deal with processes. Even when this version is stable, it still in design and we want to make it consistent and powerfull.

It counts with a chapter in pharo enterprise book and some cool tests.

We have moved the main distribution repo to CAR

http://smalltalkhub.com/#!/~CAR/TaskIT/ <http://smalltalkhub.com/#%21/%7ECAR/TaskIT/>


The main easy things to do with this revision are:

" closures "
val := [ 2+2 ] shootIt.
val isKindOf: TKTFuture.
val onSuccess: [: rslt | rslt == 4 ] "async"
val value == 4. " sync "

rslt := [ 2+2 ] shootIt asResult.
rslt == 4 "sync on demand"

" objects "

val := 2 paralellize + 2.
val == 4 "sync on demand"


" staying in tune "

val := [ "some task" ] shootIt asStickyReference.

val := nil.
" sticky means that if this future is taken by the GC, it will kill the process"



" looping  "


val := server paralellize looping serveOnce: anyParameter asStickyReference.

"this will execute in a new process, in a loop, server serveOnce: anyParameter."

You can stop it by doing
val:= nil.

"or using a disgusting magic variable, for that check the samples :). But do not rely on that kind of things, because it will not be supported "



For more advanced and cool usages, check the Doc.


FAQ:

1- Yes, the "sync" on demand is implemented with a proxy and a become.
2- Yes, we are changing the API of the processes that persist in time.

CREDITS
All CAR team in general was great inspiration, particularly, Guille Polito full operational commiter and of course is always a good idea to discuss with him, Nick Papoylias, is also great to discuss with him. Luc, Noury, Jannik: several ideas are discussed with them as well, and they always gave me support.

and from RMOD Esteban Lorenzano, also discussing and proposing.

Thanks all :).


 OTHERS:
If you want to go to the darkside (dark because is not documented yet, but in the case of PoolIT, that it has some doc ) you can also add to your combo:
ActIT: a simple Actor extention for taskit.
ForkIT: an extention that runs blocks in background image (it adds a nice button to the test runner, letting you run all your tests in a background image and installing the results after the execution) PoolIT: it adds a pool of workers, it consumes tasks and ensure you a limited amount of threads. PlanIT: a basic and not yet full developed algebra for composing processes.



I encourage you to use it, it is being used in PhaROS since a lot of time. And please any bug and enhancements, you can contact us. Since we are working on the next version is a good time to define what features are really needed.


Salut.


Santiago. .








Reply via email to