2015-04-23 30 views
6

Gần đây tôi đang phát triển một trang web Flask/api ứng dụng cho Windows Server và thấy một số vấn đề kỳ lạ xảy ra.Flask Hangs theo yêu cầu

Khi ai đó yêu cầu một url, đôi khi (như 3-4 trong số 10 lần) nó sẽ bị treo. Tất cả những gì tôi cần làm để thực hiện yêu cầu đó là đi tới dòng lệnh nơi tôi khởi động máy chủ Flask và gửi một tín hiệu ngắt. (Tôi đang ở trên cửa sổ, vì vậy về cơ bản "Ctrl + C"). Tôi đã googled một lúc, nhưng tôi tin rằng không có giải pháp nào được áp dụng. Đây là những gì tôi đã cố gắng:

  • thêm threaded=true trong app.run() như đề xuất here đã không làm việc.
  • Trong This link, Tác giả đã đề cập rằng một số trình duyệt có thể kích hoạt nhiều yêu cầu cùng một lúc và làm cho máy chủ bị nhầm lẫn. Điều này có thể không áp dụng ở đây vì tôi đã cố gắng thực hiện yêu cầu từ thư viện requests của python và vẫn thấy máy chủ bị treo.
  • Sử dụng Gevent hoặc Tornado để phục vụ ứng dụng như được đề cập trong here cũng không hoạt động.
  • Đã thử cả trên trăn 3 và python 2.7, có cùng vấn đề.

Tôi có khá nhiều thiết lập tương tự trên máy cục bộ của mình (win7 64bit) và mọi thứ hoạt động tốt. (Máy chủ có vấn đề là Windows Server 2012)

Tôi muốn chia sẻ một số mã, nhưng tôi rất nghi ngờ nó sẽ là vấn đề mã, vì nó hoạt động hoàn toàn tốt tại địa phương.

Có ai đã từng trải nghiệm điều tương tự trước đây không?

+0

Máy chủ đi kèm với Flask chỉ dành cho phát triển. Sử dụng gunicorn hoặc uwsgi để chạy máy chủ trong sản xuất. – nathancahill

+0

@nathancahill Tôi hiểu rằng, tôi vẫn đang ở giai đoạn gỡ lỗi. Và như tôi đã đề cập trong chủ đề, tôi đang ở trên cửa sổ vì vậy tôi không biết về gunicorn hoặc nginx có sẵn trên các cửa sổ ... – xbb

+0

Bạn có gặp vấn đề với ứng dụng ví dụ tại đây không: http://flask.pocoo.org / – nathancahill

Trả lời

4

Sau khi kiểm tra với đồng nghiệp (đoán tôi nên làm điều đó sớm hơn ..), có vẻ như công cụ dòng lệnh chính nó là vấn đề ... (không thể tin được). Sau khi thiết lập nó để chạy như một nhiệm vụ theo lịch trình Windows, thực hiện một vài yêu cầu hàng trăm và không có vấn đề gì cả.

Các vấn đề liên quan