---
pkg: "@nocobase/plugin-action-export-pro"
---


# Export Pro

## Введение

Плагин Export Pro предоставляет расширенные функции в дополнение к стандартной функции экспорта.

## Установка

Этот плагин зависит от плагина управления асинхронными задачами. Перед использованием необходимо включить плагин управления асинхронными задачами.

## Расширенные функции

- Поддержка асинхронного экспорта, выполняемого в отдельном потоке, для экспорта больших объемов данных.
- Поддержка экспорта вложений.

## Руководство пользователя

### Настройка режима экспорта

![20251029172829](https://static-docs.nocobase.com/20251029172829.png)

![20251029172914](https://static-docs.nocobase.com/20251029172914.png)

На кнопке экспорта можно настроить режим экспорта. Доступны три режима:

- Авто: Режим экспорта определяется объемом данных. Если количество записей меньше 1000 (или 100 для экспорта вложений), используется синхронный экспорт. Если больше 1000 (или 100 для экспорта вложений), используется асинхронный экспорт.
- Синхронный: Используется синхронный экспорт, который выполняется в основном потоке. Подходит для небольших объемов данных. Экспорт больших объемов данных в синхронном режиме может привести к блокировке системы, зависанию и невозможности обработки запросов других пользователей.
- Асинхронный: Используется асинхронный экспорт, который выполняется в отдельном фоновом потоке и не блокирует работу текущей системы.

### Асинхронный экспорт

После запуска экспорта процесс будет выполняться в отдельном фоновом потоке без необходимости ручной настройки. В пользовательском интерфейсе после запуска экспорта в правом верхнем углу будет отображаться текущая выполняемая задача экспорта с отображением хода выполнения в реальном времени.

![20251029173028](https://static-docs.nocobase.com/20251029173028.png)

После завершения экспорта вы можете скачать экспортированный файл из задач экспорта.

#### Параллельный экспорт
Большое количество параллельных задач экспорта может повлиять на конфигурацию сервера, что приведет к замедлению отклика системы. Поэтому разработчикам системы рекомендуется настроить максимальное количество параллельных задач экспорта (по умолчанию 3). Когда количество параллельных задач превышает настроенный лимит, новые задачи будут поставлены в очередь.

![20250505171706](https://static-docs.nocobase.com/20250505171706.png)

Способ настройки параллельности: Переменная окружения ASYNC_TASK_MAX_CONCURRENCY=количество_параллельных_задач

На основе комплексного тестирования с различными конфигурациями и сложностью данных рекомендуются следующие значения параллельности:
- 2-ядерный CPU, количество параллельных задач 3.
- 4-ядерный CPU, количество параллельных задач 5.

#### О производительности
Если вы обнаружите, что процесс экспорта происходит аномально медленно (см. пример ниже), это может быть связано с проблемой производительности, вызванной структурой коллекции.

| Характеристики данных | Тип индекса | Объем данных | Продолжительность экспорта |
|---------|---------|--------|---------|
| Нет полей связей | Первичный ключ / Уникальное ограничение | 1 миллион | 3～6 минут |
| Нет полей связей | Обычный индекс | 1 миллион | 6～10 минут |
| Нет полей связей | Составной индекс (неуникальный) | 1 миллион | 30 минут |
| Поля связей<br>(Один к одному, Один ко многим,<br>Многие к одному, Многие ко многим) | Первичный ключ / Уникальное ограничение | 500,000 | 15～30 минут | Поля связей снижают производительность |

Чтобы обеспечить эффективный экспорт, мы рекомендуем вам:
1. Коллекция должна соответствовать следующим условиям:

| Тип условия | Обязательное условие | Другие примечания |
|---------|------------------------|------|
| Структура коллекции (должно быть выполнено хотя бы одно) | Есть первичный ключ<br>Есть уникальное ограничение<br>Есть индекс (уникальный, обычный, составной) | Приоритет: Первичный ключ > Уникальное ограничение > Индекс
| Характеристики поля | Первичный ключ / Уникальное ограничение / Индекс (один из них) должен иметь характеристики сортировки, такие как: автоинкрементный ID, Snowflake ID, UUID v1, временная метка, число и т. д.<br>(Примечание: Несортируемые поля, такие как UUID v3/v4/v5, обычные строки и т. д., повлияют на производительность) | Нет |

2. Уменьшите количество ненужных полей для экспорта, особенно полей связей (проблемы с производительностью, вызванные полями связей, все еще оптимизируются).

![20250506215940](https://static-docs.nocobase.com/20250506215940.png)

3. Если экспорт по-прежнему выполняется медленно после выполнения вышеуказанных условий, вы можете проанализировать журналы или отправить отзыв официальной команде.

![20250505182122](https://static-docs.nocobase.com/20250505182122.png)

- [Правило связывания](/interface-builder/actions/action-settings/linkage-rule): Динамическое отображение/скрытие кнопки;
- [Редактировать кнопку](/interface-builder/actions/action-settings/edit-button): Редактирование заголовка, типа и значка кнопки;