Eu escrevi um script de processamento QGIS que realiza uma análise mais próxima da instalação. Tomando o conjunto completo de dados de entrada (20.000 endereços como pontos de partida, ~ 100 pontos de destino, rede rodoviária OSM com ~ 13k linhas de linha), o script dura cerca de 3 horas e, portanto, utiliza vários indicadores de progresso, para garantir ao usuário que ainda ativo (saída do registro, barra de progresso, tempo restante, faixas de borracha indicam o caminho para a instalação mais próxima a ser processada, cp. captura de tela abaixo):
Agora eu gostaria de cancelar o script em execução e, tanto quanto posso ver, isso só pode ser feito com o [X]
canto superior direito na janela da GUI do script de processamento.
Mas, fazendo isso, o script continua sendo processado conforme indicado pelos elásticos azuis, assim como o tempo de processamento e a barra de progresso ...
... e os recursos do sistema no gerenciador de tarefas:
No entanto, alguns minutos (~ 14min) mais tarde no script param de processar e o sistema não está consumindo mais recursos:
Como o intervalo de tempo entre fechar a janela e interromper o processamento parece bastante imprevisível para mim, minha pergunta é: essa é uma maneira recomendada de cancelar scripts de processamento do QGIS ou existem outras maneiras de cancelar esses scripts da GUI de maneira limpa?
fonte
sys.exitfunc()
.Respostas:
No shell de comando, "taskkill / f / im qgis-ltr-bin.exe / t" encerraria o processo imediatamente. Eu não acho que exista uma solução gráfica, com base no que você está buscando. No QGIS, se você quiser finalizar o processo de maneira limpa, terá que aguardar o programa ao finalizar o processo. Mas, via shell de comando, isso permitirá que você avance imediatamente.
fonte