Hi,

This sounds very nice!

I am trying to give it a shot, but I encounter a DNU for
BlockClosure>>asTask. I have loaded the latest code from all packages, but
this method is not defined.

Cheers,
Doru


On Mon, Jun 23, 2014 at 7:32 AM, Santiago Bragagnolo <
santiagobragagn...@gmail.com> wrote:

> In general terms there are pharo processes.
>
> val := [2+2] shooitIt.
>
> val := [2+2] scheduleIt.
>
> val := [2+2] forkIt.
>
>
>
> All of this snippets will give you a future, all will be related with a
> pharo process, but each process has different meaning. the firstone is a
> common 2+2 block opened in a pharo process. the second one is a block
> assigned to one of the  by-default two worker pharo processes from the
> thread pool. ( in this case the pharo processes do not run directly the
> task, but run a process that run tasks. Then, the first one is applied just
> there, the second one when is its turn.
>
> Finally the third one will use osprocess to open the same image (so, by
> now, this will work without anyproblem if you have saved the image just
> before, or if you didnt change any of the code to be executed)  with the
> same vm and it will give the block to be executed. In our local image,
> there will be spawned a watch pharo process that will check if the third
> image has finished, and deploy the future for it.
>
>
> In the behind the scenes, each of this convenient methods is implemented
> with a different kind of runner and process reification.
>
>
>
>
>
>
>
>
>
>
>
>
> 2014-06-23 0:54 GMT+02:00 kilon alios <kilon.al...@gmail.com>:
>
> are those OS processes or Pharo processes ?
>>
>>
>> On Mon, Jun 23, 2014 at 1:39 AM, Santiago Bragagnolo <
>> santiagobragagn...@gmail.com> 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/
>>>
>>>
>>> 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. .
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to