Saya telah menulis skrip pemrosesan QGIS yang melakukan analisis fasilitas terdekat. Mengambil set input data lengkap (alamat 20k sebagai titik awal, ~ 100 titik target, jaringan jalan OSM dengan ~ 13k linestrings) skrip berjalan sekitar 3 jam, dan karenanya menggunakan berbagai indikator kemajuan, untuk memastikan kepada pengguna bahwa itu adalah masih hidup (keluaran log, bilah kemajuan, sisa waktu, gelang karet menunjukkan cara ke fasilitas terdekat yang baru saja diproses, lihat screenshot di bawah):
Sekarang saya ingin membatalkan skrip yang sedang berjalan dan sejauh yang saya bisa lihat, ini hanya dapat dilakukan dengan [X]
kanan atas di jendela skrip pemrosesan gui.
Namun demikian, skrip tetap diproses sebagaimana ditunjukkan oleh karet gelang biru serta waktu pemrosesan dan bilah kemajuan ...
... dan sumber daya sistem di task manager:
Namun, beberapa menit (~ 14 menit) kemudian skrip berhenti diproses dan sistem tidak lagi menggunakan sumber daya:
Karena rentang waktu antara menutup jendela dan menghentikan pemrosesan tampaknya cukup tidak terduga bagi saya, pertanyaan saya adalah: Apakah ini cara yang disarankan untuk membatalkan skrip pemrosesan QGIS, atau adakah cara lain untuk dengan bersih membatalkan skrip semacam itu dari gui?
sumber
sys.exitfunc()
.Jawaban:
Dari shell perintah, "taskkill / f / im qgis-ltr-bin.exe / t" akan menghentikan proses dengan segera. Saya tidak berpikir ada solusi gui, berdasarkan apa yang Anda inginkan. Di QGIS, jika Anda ingin mengakhiri proses dengan bersih, Anda harus menunggu program saat mengakhiri proses. Tetapi melalui perintah shell ini akan memungkinkan Anda untuk segera bergerak maju.
sumber