Заказчик:
Лакокрасочный комбинат
Задача:
На производственных линиях заказчика использовалось оборудование, драйвер которого поддерживал интеграцию только по протоколам WebSocket и TCP. Так как не все ИС заказчика (1С, Axapta), которым была необходима интеграция с этим оборудованием, поддерживали необходимые протоколы нет возможности использовать стандартный канал интеграции напрямую.
Результат:
Было принято решение написать универсальный сервис на Python.
Сервис реализовывал в себе весь необходимый функционал для работы с оборудованием и предоставлял HTTP-интерфейс, транслирующий вызовы от учетных систем оборудованию, а результат их обработки обратно. Используя Celery и Redis мы смогли реализовать модель событийной обработки данных от драйвера, чтобы длительные операции в драйвере не вызывали такого же длительного ожидания в системах получателях и обмен происходил только тогда когда данные уже готовы.
Используемые технологии: Python 3.x, Flask, Celery, Redis, PostgreSQL, NGINX, OneScript