Чистий спосіб скасувати сценарії обробки QGIS від gui


12

Я написав сценарій обробки QGIS, який здійснює аналіз найближчого обладнання. Беручи повний набір вхідних даних (адреса 20k як вихідні точки, ~ 100 цільових точок, дорожня мережа OSM з ~ 13k рядками), сценарій працює близько 3 годин, а тому використовує різні індикатори прогресу, щоб переконатись у користуванні, що це ще живий (вихідний журнал, смуга прогресу, час, що залишився, гумки вказують шлях до найближчого обробленого файлу, див. скріншот нижче):

введіть тут опис зображення

Тепер я хотів би скасувати запущений скрипт, і наскільки я бачу, це можна зробити лише [X]вгорі праворуч у вікні інтерфейсу обробки скриптів обробки.

Але при цьому сценарій залишається обробкою, як зазначено синіми гумовими смугами, а також часом обробки та смугою прогресу ...

введіть тут опис зображення

введіть тут опис зображення

... і системні ресурси в менеджері завдань:

введіть тут опис зображення

введіть тут опис зображення

Однак через пару хвилин (~ 14 хв) сценарій припиняє обробку, і система більше не споживає ресурсів:

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

Оскільки часовий проміжок між закриттям вікна та припиненням обробки видається мені непередбачуваним, моє питання: чи це рекомендований спосіб скасувати сценарії обробки QGIS, чи є інші способи чистого скасування таких скриптів з gui?


Звичайно, це не найкращий чи найясніший спосіб зробити це, але я, як правило, буквально вбиваю процес від Windows Task Manager: ця дія спричиняє закриття QGIS, а також переривання сценарію та економію системних ресурсів. . Однак якщо ви хочете мати уявлення про час, що залишився, ви можете встановити смугу прогресу відповідно до ітерації функцій (я не знаю, чи це ви хочете).
mgri

Можливо, ця публікація може допомогти: Як правильно припинити сценарії Python в рамках Processing Framework? . Зокрема, використовуючи відповідь гена sys.exitfunc().
Йосип

Відповіді:


2

З командної оболонки "taskkill / f / im qgis-ltr-bin.exe / t" негайно завершить процес. Я не думаю, що існує рішення gui, яке базується на тому, для чого ти збираєшся. У QGIS, якщо ви хотіли закінчити процес чисто, вам доведеться почекати програми, коли закінчите процес. Але за допомогою командної оболонки це дозволить вам рухатися вперед відразу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.