Tôi đang tìm kiếm một đơn giản (tức là, không yêu cầu tôi thiết lập một máy chủ riêng để xử lý hàng đợi tin nhắn) một giao diện web nhỏ chạy các phép tính và tạo biểu đồ. Đây là những gì giao diện web của tôi cần phải làm:Hàng đợi không phải tin nhắn/Đơn giản bỏ phiếu dài bằng Python (và Flask)
- dùng yêu cầu một đồ thị/dữ liệu trong một giao diện web
- Server chạy một số tính toán.
- Trong khi máy chủ đang chạy tính toán, một vùng chứa nhỏ được cập nhật (có thể thông qua AJAX/jQuery) với tiến trình tính toán (tương tự như những gì bạn thực hiện trong một consol có in (tức là in 'tính toán mật độ hàm ...'))
- Kết thúc tính toán và biểu đồ được hiển thị cho người dùng.
Khi tính toán được thực hiện phía máy chủ, tôi không thực sự chắc chắn cách dễ dàng thiết lập điều này. Rõ ràng tôi sẽ muốn thiết lập một API REST để xử lý việc bỏ phiếu, điều này sẽ dễ dàng trong Flask. Tuy nhiên, tôi không chắc chắn làm thế nào để lấy các bản cập nhật thực tế. Một rõ ràng, mặc dù phức tạp cho mục đích này, giải pháp sẽ được thiết lập một hàng đợi tin nhắn và làm một số bỏ phiếu dài. Tuy nhiên, tôi không chắc chắn đây có phải là cách tiếp cận đúng cho một cái gì đó đơn giản này không.
Dưới đây là những câu hỏi của tôi:
- Có cách nào để làm điều này bằng cách sử dụng hệ thống tập tin? Hiệu suất không phải là một vấn đề lớn. AJAX/jQuery có thể tìm thư từ một tệp không? Lưu tiến trình vào một số tệp .json?
- Điều gì về tẩy? (Tôi không thực sự biết nhiều về việc tẩy, nhưng có lẽ tôi có thể chọn một thông điệp dict và nó có thể được đọc bởi một API đang xử lý việc bỏ phiếu).
- Đang bỏ phiếu ngay cả cách tiếp cận đúng? Có một mô hình tốt hơn hoặc phổ biến hơn để xử lý điều này?
Tôi có cảm giác tôi đang quá phức tạp vì tôi biết loại điều này phổ biến trên web. Khá thường xuyên tôi thấy những thứ xảy ra và một chút "loading.gif" hình ảnh đang chạy trong khi một số tính toán đang diễn ra (ví dụ, trong Google Analytics).
Cảm ơn sự giúp đỡ của bạn!
Ah, cảm ơn bạn * vì vậy * nhiều cho việc này! Tôi sẽ xem mã của bạn tối nay. "Nhưng việc tìm kiếm các ví dụ đơn giản, tốt về triển khai phía máy chủ có, theo kinh nghiệm của tôi, rất khó khăn". là trải nghiệm chính xác mà tôi có, vì vậy tôi rất vui khi biết rằng tôi không đơn độc. Cảm ơn một lần nữa !! – aaronlevin
FYI Tôi đã thử điều này đầu tiên với bottle.py (với một kịch bản xử lý con dài) và có một số vấn đề chặn. Với Flask nó hoạt động rất tốt. Cảm ơn! – Nate
Làm thế nào để đồng bộ hóa nhiều máy khách với tất cả nhận tín hiệu cùng một lúc? – r1d3h4rd