Перейти к содержанию

Переход с PrintNode на CloudPrint

Миграция с PrintNode — это смена API-контракта и эксплуатационной модели, а не переименование endpoint-ов. Сначала опишите назначения принтеров, форматы, retry и статусы, затем переносите по одному контролируемому сценарию.

Проведите инвентаризацию

Соберите все филиалы, компьютеры, принтеры, типы документов, параметры и ошибки текущей интеграции. Зафиксируйте, где хранятся ID, как обрабатывается offline и может ли retry создать дубль. Это критерии приёмки CloudPrint.

Сопоставьте понятия

В CloudPrint агент сообщает локальные очереди, backend хранит printer_id, загружает PDF или RAW, создаёт задание, сохраняет print_job_id и читает статус. Старые ID переносить нельзя: подключите агенты и дайте администратору явно выбрать новые принтеры.

Замените авторизацию и retry

Используйте OAuth2 Client Credentials с минимальными scope. На каждую бизнес-операцию назначайте стабильный Idempotency-Key. После timeout восстанавливайте или повторяйте исходный запрос, а не создавайте независимое второе задание.

Запустите репрезентативный пилот

Выберите один филиал, модель принтера и важный документ. Сравните размеры, копии, выравнивание, время до конечного статуса и поведение offline. Включите в пилот интерфейс оператора и данные для поддержки.

Переключайтесь без двойной отправки

Сохраните окно отката, но каждую бизнес-операцию направляйте только одному провайдеру. Отслеживайте ошибки, время и ручные перепечатки. После стабилизации отзовите старые секреты и удалите ветки, способные отправить документ дважды.

Чек-лист перед запуском

  • Сопоставьте устройства, принтеры и статусы старого провайдера с идентификаторами CloudPrint.
  • Выполните контролируемый параллельный запуск с возможностью отката.
  • Явно задайте обработку конечных статусов, повторов и защиту от двойной печати.
  • Сохраняйте идентификаторы заданий и причины ошибок для поддержки и мониторинга.

Следующие шаги

Руководства по интеграции CloudPrint, подключению локального агента и эксплуатации печати.