And the script:) Gofer new smalltalkhubUser: 'CAR' project: 'TaskIT'; configuration; load.
(#ConfigurationOfTaskIT asClass project version: #stable) load: 'full' Cheers, Doru On Sun, Jun 29, 2014 at 11:09 AM, Tudor Girba <tu...@tudorgirba.com> wrote: > Thanks! > > This works. > > For reference, here is the loading script: > > > Cheers, > Doru > > > > > On Sun, Jun 29, 2014 at 9:58 AM, Santiago Bragagnolo < > santiagobragagn...@gmail.com> 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 <tu...@tudorgirba.com>: >> >> 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" >>> >> >> > > > -- > www.tudorgirba.com > > "Every thing has its own flow" > -- www.tudorgirba.com "Every thing has its own flow"