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"
