У меня есть приложения для facebook с флягой с nginx и uwsgi. Когда он получит POST от Facebook, она всегда ошибка:Ошибка: readv() не удалось (104: Соединение сброшено сверстником) при чтении вверх по течению
readv() failed (104: Connection reset by peer) while reading upstream
Но когда я получить доступ к своим приложениям непосредственно (с помощью метода GET), он прошел гладко. Что я сделал:
- Limit @ app.route с
POST
метод только - не работает. - Добавить ограничение в wsgi:
uwsgi_buffer_size
(в случае, если запрос от facebook большой) иuwsgi_harakiri
(в случае, если uwsgi обеспечивает тайм-аут до завершения запроса) - не работает.
У меня есть обходное решение в django, но еще не может понять, как реализовать в колбе. Может ли кто-нибудь помочь?
Ответ для меня нелепо. Мне нужно обработать все данные, даже если мой процесс ничего не делает. если «ничего» не в request.form: pass. Его работа ... Btw, facebook откройте приложение с запросом POST, поэтому я должен добавить это для каждого маршрута. Должен быть лучший способ сделать это. – asofyan
Если есть данные в сокете, вы должны их прочитать (нет других вариантов). В викторине фляг вы можете найти промежуточное ПО, чтобы обойти эту общую проблему при прокси-настройке: http://flask.pocoo.org/snippets/47/ uWSGI может помочь вам с опцией -post-buffering, но это только ярлык, ничего волшебного в нем. – roberto
Спасибо за фрагмент @roberto – asofyan