Thanks!

This works.

For reference, here is the loading script:


Cheers,
Doru




On Sun, Jun 29, 2014 at 9:58 AM, Santiago Bragagnolo <
[email protected]> wrote:

> Hi Doru!
>
> Download the stable version ConfigurationOfTaskIt stable.
>
> We are going through a refactor that adds new concepts, the last code is
> very unstable. We will try to make them transparent from the API point of
> view, but it will add new concepts in all the aspects.
>
>
>
>
>
> 2014-06-29 7:48 GMT+02:00 Tudor Girba <[email protected]>:
>
> 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 <
>> [email protected]> 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 <[email protected]>:
>>>
>>> are those OS processes or Pharo processes ?
>>>>
>>>>
>>>> On Mon, Jun 23, 2014 at 1:39 AM, Santiago Bragagnolo <
>>>> [email protected]> 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"
>>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to