Tôi có ứng dụng facebook với bình với nginx và uwsgi. Khi nhận được POST từ facebook, nó luôn có lỗi:Lỗi: readv() không thành công (104: Thiết lập lại kết nối ngang hàng) khi đọc ngược dòng
readv() failed (104: Connection reset by peer) while reading upstream
Nhưng khi tôi truy cập trực tiếp vào ứng dụng của tôi (bằng phương thức GET), nó chạy trơn tru. Những gì tôi đã thực hiện:
- Giới hạn @ app.route chỉ với phương thức
POST
- không hoạt động. - Thêm giới hạn trong wsgi:
uwsgi_buffer_size
(trong trường hợp yêu cầu từ facebook là lớn) vàuwsgi_harakiri
(trong trường hợp uwsgi cung cấp thời gian chờ trước khi hoàn thành yêu cầu) - không hoạt động.
Tôi có cách giải quyết khác trong django nhưng không thể tìm ra cách thực hiện trong bình. Bất cứ ai có thể giúp đỡ xin vui lòng?
câu trả lời hơi vô lý đối với tôi. Tôi phải xử lý tất cả dữ liệu bài đăng, ngay cả khi quy trình của tôi không làm gì cả. nếu "không có gì" không có trong request.form: pass. Làm việc của nó .. Btw, facebook mở ứng dụng với yêu cầu POST, vì vậy tôi nên thêm ứng dụng đó cho mọi tuyến đường. Phải có cách tốt hơn để làm điều đó .. – asofyan
Nếu có dữ liệu trên ổ cắm, bạn phải đọc chúng (không có lựa chọn nào khác). Trên wiki bình, bạn có thể tìm thấy một phần mềm trung gian để bỏ qua vấn đề thường gặp này trên thiết lập proxy: http://flask.pocoo.org/snippets/47/ uWSGI có thể giúp bạn với tùy chọn --post-buffering, nhưng nó chỉ là một lối tắt, không có ma thuật trong đó. – roberto
Cảm ơn đoạn mã @roberto – asofyan