← Back to team overview

dhis2-devs team mailing list archive

Re: Work in progress

 

Hi Abyot

Thanks for taking a look.  This is just unit test code.  In reality the
periodic checking of thread status would be triggered by something like the
getImportStatus() javascript functions in the web ui.  And 200ms is probably
a bit excessive.  Particularly for ajax interactions.

Mind you it is also conceivable (and planned) to have a watchdog thread as
part of the TaskManager which does pretty much this.  Wakes up every now and
again and checks on the status of running tasks - in particular checking
whether tasks are running past their expiry time.  Having this run in its
own thread does mean that sleeping on the job doesn't cause a problem with
the web application.  You see a user might start off a long running process
and then go and log off and go and have a cup of tea,  If he/she never looks
at it again then some housekeeping has to be done to remove the managed task
and flush its messageq eventually.  And of course tasks can get themselves
in trouble, caught in endless loops or what have you.  The taskManager needs
a watchdog thread to knock these out.

Having said that, when the user logs in she should be able to see any tasks
which she has started and collect any messages they may have produced.  But
if she doesn't do that within a reasonable time the watchdog thread should
clean up.

Cheers
Bob

2009/12/28 Abyot Gizaw <abyota@xxxxxxxxx>

> Is the cpu bound synchronization the best thing to do?
>
> while (!mt.isDone()) {Thread.sleep(200);}
>
>
>
> On Mon, Dec 28, 2009 at 12:36 AM, Bob Jolliffe <bobjolliffe@xxxxxxxxx>wrote:
>
>> Finished porting importexport module to new concurrency framework.
>>
>> See sample usage here:
>>
>> http://bazaar.launchpad.net/%7Edhis2-devs-core/%2Bjunk/dhis2-xml-ng/annotate/head%3A/dhis-2/dhis-services/dhis-service-importexport/src/test/java/org/hisp/dhis/importexport/dxf/DXFImportServiceTest.java#L452
>>
>> Will start looking at web import-export module soon.
>>
>> Cheers
>> Bob
>>
>> 2009/12/27 Bob Jolliffe <bobjolliffe@xxxxxxxxx>
>>
>> Hi Lars, Jo
>>>
>>> I've just uploaded work in progress branch here:
>>> https://code.launchpad.net/~dhis2-devs-core/+junk/dhis2-xml-ng<https://code.launchpad.net/%7Edhis2-devs-core/+junk/dhis2-xml-ng>
>>>
>>> >From latest commit message:
>>> 1. Brought staxwax code into dhis-service-xml, keeping package name as
>>> discussed. Some modifications: using stax2, exposing EventReader.
>>> 2. Tested Relaxng validation - note this currently requires sun's msv in
>>> local repository. Works well.
>>> 3. Abstracted MessageQ in task framework
>>> 4. Started process of porting import/export module to task framework -
>>> lots of work! Also causes lots of
>>> work at web layer. Import/Export module not building yet ...
>>>
>>> Still plugging away at import/export module between sips of whisky, bites
>>> of christmas cake and bouts of table tennis with the kids.  I hope to finish
>>> that bit tonight if I get a chance.  As you know there is a lot to it!
>>>
>>> Thinking about:
>>> 1.  Internationalizing messages on message queue
>>> 2.  figuring out what on earth
>>> state.setOutput(importAnalyser.getImportAnalysis()) does
>>> 3.  whatever happened to Christmas
>>> 4.  must take a break tomorrow and write up some sdmx-hd stuff
>>>
>>> Regards
>>> Bob
>>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>

References