5.3. Отмена выполнения отчёта

Если процесс генерации отчёта выполняется как фоновая задача, он может быть прерван пользователем.

Чтобы добавить возможность отмены, определите свойство reporting.useBackgroundReportProcessing в экране Administration → Application Properties:

reporting.useBackgroundReportProcessing = true

Теперь при выполнении будет отображаться окно с progress bar и кнопкой Cancel:

run cancel

Также можно установить таймаут выполнения с помощью свойства reporting.backgroundReportProcessingTimeoutMs:

reporting.backgroundReportProcessingTimeoutMs = 30000

По истечении указанного таймаута задача будет прервана независимо от этапа ее выполнения, и пользователь получит сообщение об ошибке:

run cancel 2

Чтобы настроить отмену выполнения отчёта программно, используйте метод cancelReportExecution() интерфейса ReportService, который принимает идентификатор сессии пользователя и идентификатор выполняемого отчёта:

reportService.cancelReportExecution(userSessionId, report.getId());