Переход с 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.
- Выполните контролируемый параллельный запуск с возможностью отката.
- Явно задайте обработку конечных статусов, повторов и защиту от двойной печати.
- Сохраняйте идентификаторы заданий и причины ошибок для поддержки и мониторинга.