Hi Wahed, One approach would be to configure the service itself to self-destruct if processing exceeds a processing threshold. UIMA-AS error configuration does support timeouts for remote delegates, but not for in-process delegates. So this would require starting a timer thread in the annotator that would call exit() if not reset at the end of the process() method. DUCC will automatically attempt to restart a service instance that exits.
DUCC's pinger API allows a service pinger to detect that a service instance is not working correctly and tell DUCC to restart the instance. This approach has been confirmed to work for the current trunk code, after post v2.1.0 fixes. Eddie On Fri, Oct 28, 2016 at 10:07 AM, Wahed Hemati <[email protected]> wrote: > Hi, > > is there a mechanism in Ducc to restart a service, if it is processing a > cas for to long? > > I have a annotator running as a primitive service on Ducc, which sometimes > gets to an endless loop. I call this service with a Uima AS Client. I can > set a timeout on the UIMA AS Client, this works. The client throws a > timeout after the specified period, which is nice. However the Service is > still processing the cas somehow? Can i tell Ducc to shutdown and restart a > service, if it is processing a cas takes more then a specified time period > (e.g 60 sec)? > > Thanks in advance > > -Wahed > > >
