Using current ML 9:

I’ve set up a little client-server application where the client spawns a large 
number of tasks on a remote cluster. Each remote task reports its status back 
to the client via HTTP.

However, if one of the tasks times out in the Task Server there’s no way for it 
to report its own failure and there doesn’t seem to be anything else other than 
the task server that can detect the failure and report it.

Is there any built-in mechanism by which a task time limit exceeded failure can 
be detected in a way that would allow me to the report back to the calling 
client? For example, something that gets the task’s current call stack at the 
time of failure, which would give me the info I need to report back to the 
calling client.

Unfortunately, the code I’m running in these tasks is pre-existing processing 
that I’m building this remote processing around so I can’t easily do something 
like provide a heartbeat signal for each running task that a separate process 
could poll in order to detect terminated processes, although I’m guessing 
that’s the most likely solution now that I think about it.

I do report to the client when each task starts so I guess I could presume that 
if a task hasn’t finished some time after the configured max time limit that it 
is presumed to have failed.

Thanks,

Eliot  
--
Eliot Kimber
http://contrext.com
 



_______________________________________________
General mailing list
[email protected]
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to