Нещодавно я розпочав проект, який не здавався надто важким зробити, концепція - це досить просте додаток, яке доводилося раз у раз приймати вхід (можливо, 10 разів на день) і намагатися виконувати деякі операції над ними та збирати всі результати в кінці. Потім ця програма отримає перехідний веб-портал, який клієнти могли б використовувати для перегляду результатів, а не зовсім про ракетну науку.
Для цього я спочатку розумно використовував вбудовані бібліотеки паралельних можливостей Python ( ThreadPoolExecutor
) і використовував просту у користуванні бібліотеку для передової частини (я вибрав Flask, як це легко для початківців і порівняно простий в обслуговуванні та тестуванні).
Після того, як ми опинилися на півдорозі проекту, прем'єр-міністр заявив, що треба використовувати можливості черги повідомлень сторонніх повідомлень замість ниток і потрібно реалізувати балансування навантаження, що в підсумку закінчилося, що ми врешті почали працювати з Celery, Redis, RabbitMQ, Nginx, uWSGI і купа інших великих сторонніх послуг, з якими ніхто не мав реального досвіду.
Врешті-решт це призведе до купою коду спагетті, нестабільних завдань (через складність бібліотек сторонніх організацій, виправлення коду навіть не спрацювало) та купі головних болів, бо ніхто навіть не знав, яка додаткова цінність цих послуг .
Перш ніж сказати "Так, ви повинні користуватися цими послугами", майте на увазі, ніхто не знає, як ними користуватися, а навіть не знає, що вони роблять, окрім введення коду, що спричиняє гонку.
Що мені робити з цього приводу? На даний момент просто повернутись до того, що у нас було, і прем'єр-міністр не може використовувати ці послуги, навіть якщо кінцевий продукт зараз гірший, ніж був на початку. Чи є навіть користь в обговоренні цього з ним? Прошу більше часу? Або сувора відповідь, я просто занадто дурний за свою роботу?