Недавно я запустил проект, который не казался слишком сложным, концепция представляла собой довольно простое приложение, которое время от времени должно было принимать входные данные (возможно, 10 раз в день), и пытаться выполнять над ними некоторые операции и собирать все результаты. в конце. Это приложение затем получило бы интерфейсный веб-портал, который клиенты могли бы использовать для просмотра результатов, а не просто ракетостроение.
Для этого я изначально умело использовал встроенные библиотеки параллелизма Python ( ThreadPoolExecutor
) и использовал простую в использовании библиотеку для внешнего интерфейса (я выбрал Flask, поскольку он прост для начинающих и относительно прост в обслуживании и тестировании).
Как только мы оказались на полпути к проекту, премьер-министр заявил, что нам нужно использовать сторонние возможности очереди сообщений вместо потоков и реализовать балансировку нагрузки, что в итоге привело к тому, что мы в итоге начали работать с Celery, Redis, RabbitMQ, Nginx, uWSGI. и куча других крупных сторонних сервисов, с которыми никто не имел никакого реального опыта.
В конце концов это привело к куче спагетти-кода, непроверяемым задачам (из-за сложности сторонних библиотек, исправление кода даже не работало) и куче головных болей, потому что никто даже не знал, какова дополнительная ценность этих сервисов. ,
Прежде чем сказать «Да, вы должны использовать эти сервисы», имейте в виду, что никто не знает, как использовать эти сервисы, и даже не знает, что они делают, кроме как вводить код, сопровождающий состояние гонки.
Что мне с этим делать? На этом этапе было бы просто слишком дорого возвращаться к тому, что у нас было, и премьер-министр абсолютно не хочет использовать эти сервисы, даже если конечный продукт сейчас хуже, чем был в начале. Есть ли смысл обсуждать это с ним? Я прошу больше времени? Или грубый ответ, я просто слишком глуп для своей работы?