Como identifico e mato graciosamente os processos de serviço Gp pendurados?

11

Publiquei uma ferramenta gp como um serviço gp sem pool assíncrono .

Quando a ferramenta gp trava, eu gostaria de permitir que o usuário a mate, sem afetar outros serviços. Se eu colocar um serviço da Web no SOM que encerre um processo com base em um ID, isso prejudicará outros serviços?

Perguntas relacionadas:

Existe uma maneira de um serviço da Web em execução na máquina SOM matar um processo em uma máquina SOC (diferente)?

A primeira coisa que a ferramenta gp faz é gravar o hostID e o processID em um arquivo de log, mas eu gostaria que um sistema funcionasse para qualquer serviço gp, não apenas aqueles que registram essas informações.

Existe uma solicitação que eu possa fazer ao servidor gp que retorne um hostID e processID para um jobID arbitrário?

Atualização: decidi primeiro implementar um método para cancelar trabalhos de GP e, em seguida, somente seguir a estratégia de eliminação de processos se o cancelamento for ineficaz. Como a API REST atualmente não possui um método Cancel , farei isso via SOAP. Também me foi mostrado como registrar os IDs do processo , de modo que não precisarei confiar no meu próprio log.

Kirk Kuykendall
fonte

Respostas:

2

Pensei em tentar e o que descobri é que você pode precisar criar algo

http://help.arcgis.com/en/sdk/10.0/serveradf_net/conceptualhelp/index.html#/GeoprocessingResourceManager_control/000200000005000000/

Se você usar o Gerenciador de Recursos de Geoprocessamento, em conjunto com algum código personalizado para lidar com cada incidente de um Serviço de Geoprocessamento específico, poderá organizar uma ferramenta administrativa para descartar os Serviços GP travados individualmente, com base nos usuários. Isso não é fácil e ainda não cheguei muito além da pesquisa.

Por favor, se alguém tiver feito isso ou tiver outra resposta, volte para Kirk, pois parece que vale a pena parar e iniciar e iniciar o serviço nem sempre está disponível.

Divirta-se, CDB

CDBrown
fonte