Gần đây tôi đã bắt đầu một dự án dường như không quá khó để thực hiện, khái niệm này là một ứng dụng khá đơn giản, phải chấp nhận đầu vào mọi lúc và sau đó (có thể là 10 lần một ngày) và cố gắng thực hiện một số thao tác trên chúng và thu thập tất cả các kết quả cuối cùng. Ứng dụng này sau đó sẽ có được một cổng web mặt trước mà khách hàng có thể sử dụng để xem kết quả, không chính xác là khoa học tên lửa.
Để làm điều này, ban đầu tôi đã sử dụng thông minh các thư viện đồng thời tích hợp sẵn của Python ( ThreadPoolExecutor
) và sử dụng thư viện dễ sử dụng cho giao diện người dùng (Tôi đã chọn Flask vì nó dễ dàng cho người mới bắt đầu và tương đối dễ bảo trì và kiểm tra).
Khi chúng tôi đang thực hiện được nửa dự án, Thủ tướng tuyên bố chúng tôi phải sử dụng các khả năng xếp hàng tin nhắn của bên thứ ba thay vì các luồng và phải thực hiện cân bằng tải, điều cuối cùng đã xảy ra là cuối cùng chúng tôi bắt đầu làm việc với Celery, Redis, RabbitMQ, Nginx, uWSGI và một loạt các dịch vụ bên thứ ba lớn khác mà không ai có kinh nghiệm thực sự với.
Cuối cùng, điều này dẫn đến một loạt các mã spaghetti, các nhiệm vụ không thể kiểm chứng (vì sự phức tạp của các thư viện bên thứ ba, việc vá mã thậm chí không hoạt động) và một loạt các vấn đề đau đầu vì thậm chí không ai biết giá trị gia tăng của các dịch vụ này là gì .
Trước khi bạn nói "Có, bạn nên sử dụng các dịch vụ đó", hãy nhớ rằng không ai biết cách sử dụng những dịch vụ này hoặc thậm chí biết những gì họ làm ngoài việc giới thiệu mã bị mắc kẹt trong tình trạng chủng tộc.
Tôi nên làm gì với cái này? Tại thời điểm này, nó chỉ đơn giản là quá tốn kém để trở lại với những gì chúng ta đã có và PM đã hết hạn sử dụng các dịch vụ này, mặc dù sản phẩm cuối giờ đã tệ hơn so với lúc ban đầu. Thậm chí có bất kỳ sử dụng trong việc thảo luận điều này với anh ta? Tôi có yêu cầu thêm thời gian không? Hoặc câu trả lời gay gắt, tôi chỉ quá ngu ngốc cho công việc của mình?