Tôi bắt đầu phác họa cấu trúc trang web dịch vụ thông tin tài chính định lượng được viết bằng Python (3.x Tôi hy vọng) và đã đi đến kết luận - sửa cho tôi nếu tôi ' m sai - rằng tôi sẽ phải sử dụng cả thư viện mạng sự kiện và thư viện đa xử lý. Một phần của hệ thống về cơ bản là một công việc cron chạy nền, kiểm tra thị trường chứng khoán và các dữ liệu tài chính khác sau khi đóng cửa thị trường, học máy và tính toán lượng tử, sau đó đặt các dự đoán trong một cơ sở dữ liệu đơn giản hoặc thậm chí là một tệp phân tách bằng dấu phẩy phẳng. (Các đối số được chuyển qua lại giữa các phần của hệ thống qua tập tin.)câu hỏi đa xử lý và đa xử lý cho trang web số
Tôi hiểu rằng có thể sử dụng eventlet cho I/O nonblocking để súp đẹp hoặc có thể cạo thông tin từ nhiều trang cùng một lúc (loại) và thư viện đa xử lý có thể cho phép thuật toán học/toán học của máy tính thực hiện các phép tính trên tất cả các dữ liệu chứng khoán song song như các quá trình riêng biệt.
Để xem dự đoán, người dùng sẽ đăng nhập vào phần khác của hệ thống được xây dựng bằng Flask sẽ truy cập vào cơ sở dữ liệu và hiển thị các dự đoán.
Tôi cho rằng tất cả các thư viện và chủ đề hỗn hợp/thủ tục đa xử lý này có được cùng với nhau không? Tôi sẽ sử dụng pythonanywhere.com làm máy chủ, và chúng dường như có khá ít "pin đi kèm". Tất nhiên, khi thử nghiệm kết thúc, tôi có lẽ sẽ phải nâng cấp số lượng "công nhân" để cấp nguồn cho trang web được triển khai cuối cùng.
Bất kỳ cạm bẫy nào trong việc trộn luồng và xử lý nhiều thứ phức tạp như vậy?
không thể trả lời câu hỏi của bạn một cách thuyết phục như tôi đã không cố gắng mà chính xác nhưng nhìn chung nó là tốt để có nhiều chủ đề và nhiều quy trình. – 101
Tôi không biết chắc chắn * gevent * liên quan đến * eventlet * như thế nào, nhưng để hỗ trợ đa xử lý từ * gevent * khi chủ đề được vá khỉ, tôi phải sử dụng mô đun * subprocess * để liên lạc và * pickle * cho serialization vì đa xử lý không được hỗ trợ bởi * gevent *. – cpburnz
PythonAnywhere dev here. Một trong những điều bạn cần phải biết khi thực hiện điều này trên PythonAnywhere là chúng ta giới hạn các luồng và các tiến trình mà người dùng có thể bắt đầu, vì vậy bạn có thể cần phải sử dụng một hồ bơi thread/process. Tôi tin rằng đa xử lý đã được xây dựng trong. – Glenn