Hello, fellow Flask users! I started learning Flask this year and here is a small project I built using Flask. Marketplace for your expertise http://expert.io Being a ex-Django user, developing in Flask is really a pleasure to me. But I do have some question to ask if it is appropriate. As I am using nginx as the front end, it would sometimes show a 502 error which I have no idea what it is about. The system is deployed with gunicorn + gevent. Please leave any comment or suggestion! Thank you for your time. Cheers, Justin
Hi, On 2011-03-05 1:25 AM, Admin Expert.io wrote: > Being a ex-Django user, developing in Flask is really a pleasure to me. > But I do have some question to ask if it is appropriate. As I am using > nginx as the front end, it would sometimes show a 502 error which I have > no idea what it is about. > The system is deployed with gunicorn + gevent. Make sure to look into the log of gunicorn. Sounds like it goes away for a moment. I don't know how gunicorn works, but try disabling the async part for a moment and see if it makes a difference. Regards, Armin
I am using supervisord to run gunicorn so there is no default log for it. But thanks for the advice, I will look into the setup for gunicorn and try to see if that is the reason. Regards, Justin On Sat, Mar 5, 2011 at 11:42 AM, Armin Ronacher <armin.ronacher@active-4.com > wrote: > Hi, > > On 2011-03-05 1:25 AM, Admin Expert.io wrote: > > Being a ex-Django user, developing in Flask is really a pleasure to me. > > But I do have some question to ask if it is appropriate. As I am using > > nginx as the front end, it would sometimes show a 502 error which I have > > no idea what it is about. > > The system is deployed with gunicorn + gevent. > Make sure to look into the log of gunicorn. Sounds like it goes away > for a moment. I don't know how gunicorn works, but try disabling the > async part for a moment and see if it makes a difference. > > > Regards, > Armin >
It depends on your setup, but you should be able to run one of these to get gunicorn's log: $ supervisorctl tail -f myapp $ supervisorctl tail -f myapp stderr On 5 March 2011 08:29, Admin Expert.io <admin@expert.io> wrote: > I am using supervisord to run gunicorn so there is no default log for it. > But thanks for the advice, I will look into the setup for gunicorn and try > to see if that is the reason. > > Regards, > Justin > > > On Sat, Mar 5, 2011 at 11:42 AM, Armin Ronacher < > armin.ronacher@active-4.com> wrote: > >> Hi, >> >> On 2011-03-05 1:25 AM, Admin Expert.io wrote: >> > Being a ex-Django user, developing in Flask is really a pleasure to me. >> > But I do have some question to ask if it is appropriate. As I am using >> > nginx as the front end, it would sometimes show a 502 error which I have >> > no idea what it is about. >> > The system is deployed with gunicorn + gevent. >> Make sure to look into the log of gunicorn. Sounds like it goes away >> for a moment. I don't know how gunicorn works, but try disabling the >> async part for a moment and see if it makes a difference. >> >> >> Regards, >> Armin >> > > -- Peter Ward http://flowblok.id.au/ BIT III, Sydney University
Yes, indeed. I tried to get the log from gunicorn, but it reveals nothing... As a matter of fact, the stderr is blank which means nothing is recorded in stderr, even if I set the logging mode to DEBUG. But I do find this from NGINX log upstream prematurely closed connection while reading response header from upstream Anyone know what that is about? Thanks for your help. Cheers, Justin On Sat, Mar 5, 2011 at 8:27 PM, Peter Ward <peteraward@gmail.com> wrote: > It depends on your setup, but you should be able to run one of these to get > gunicorn's log: > $ supervisorctl tail -f myapp > $ supervisorctl tail -f myapp stderr > > On 5 March 2011 08:29, Admin Expert.io <admin@expert.io> wrote: > >> I am using supervisord to run gunicorn so there is no default log for it. >> But thanks for the advice, I will look into the setup for gunicorn and try >> to see if that is the reason. >> >> Regards, >> Justin >> >> >> On Sat, Mar 5, 2011 at 11:42 AM, Armin Ronacher < >> armin.ronacher@active-4.com> wrote: >> >>> Hi, >>> >>> On 2011-03-05 1:25 AM, Admin Expert.io wrote: >>> > Being a ex-Django user, developing in Flask is really a pleasure to me. >>> > But I do have some question to ask if it is appropriate. As I am using >>> > nginx as the front end, it would sometimes show a 502 error which I >>> have >>> > no idea what it is about. >>> > The system is deployed with gunicorn + gevent. >>> Make sure to look into the log of gunicorn. Sounds like it goes away >>> for a moment. I don't know how gunicorn works, but try disabling the >>> async part for a moment and see if it makes a difference. >>> >>> >>> Regards, >>> Armin >>> >> >> > > > -- > Peter Ward > http://flowblok.id.au/ > BIT III, Sydney University >
If you are running nginx in front of gunicorn, using Gevent is not really needed as the Async Worker model is more robust in my opinion. Just set enough workers, something between nb_cpu and nb_cpu * 2 then try a quick ab -n 1000 -c 50 http://your_url/ the error message you get in nginx means that the upstream (gunicorn) died in the middle of a request. Sebastien Estienne On Sat, Mar 5, 2011 at 13:07, Admin Expert.io <admin@expert.io> wrote: > Yes, indeed. > I tried to get the log from gunicorn, but it reveals nothing... As a matter > of fact, the stderr is blank which means nothing is recorded in stderr, even > if I set the logging mode to DEBUG. > > But I do find this from NGINX log > upstream prematurely closed connection while reading response header from > upstream > Anyone know what that is about? > > Thanks for your help. > > Cheers, > Justin > > On Sat, Mar 5, 2011 at 8:27 PM, Peter Ward <peteraward@gmail.com> wrote: >> >> It depends on your setup, but you should be able to run one of these to >> get gunicorn's log: >> $ supervisorctl tail -f myapp >> $ supervisorctl tail -f myapp stderr >> On 5 March 2011 08:29, Admin Expert.io <admin@expert.io> wrote: >>> >>> I am using supervisord to run gunicorn so there is no default log for it. >>> But thanks for the advice, I will look into the setup for gunicorn and >>> try to see if that is the reason. >>> >>> Regards, >>> Justin >>> >>> On Sat, Mar 5, 2011 at 11:42 AM, Armin Ronacher >>> <armin.ronacher@active-4.com> wrote: >>>> >>>> Hi, >>>> >>>> On 2011-03-05 1:25 AM, Admin Expert.io wrote: >>>> > Being a ex-Django user, developing in Flask is really a pleasure to >>>> > me. >>>> > But I do have some question to ask if it is appropriate. As I am using >>>> > nginx as the front end, it would sometimes show a 502 error which I >>>> > have >>>> > no idea what it is about. >>>> > The system is deployed with gunicorn + gevent. >>>> Make sure to look into the log of gunicorn. Sounds like it goes away >>>> for a moment. I don't know how gunicorn works, but try disabling the >>>> async part for a moment and see if it makes a difference. >>>> >>>> >>>> Regards, >>>> Armin >>> >> >> >> >> -- >> Peter Ward >> http://flowblok.id.au/ >> BIT III, Sydney University > >
FYI, I got the 502 error on first page load myself. After refreshing it's fine. The design is quite nice. Did you design it yourself, or did you get assistance from a designer? On Fri, Mar 4, 2011 at 5:25 PM, Admin Expert.io <admin@expert.io> wrote: > Hello, fellow Flask users! > > I started learning Flask this year and here is a small project I built > using Flask. > Marketplace for your expertise > http://expert.io > > Being a ex-Django user, developing in Flask is really a pleasure to me. > But I do have some question to ask if it is appropriate. As I am using > nginx as the front end, it would sometimes show a 502 error which I have no > idea what it is about. > The system is deployed with gunicorn + gevent. > > Please leave any comment or suggestion! > > Thank you for your time. > > Cheers, > > Justin > -- freelance web development aaron.kavlie.net
Yes, that is the problem I am talking about ... I have no idea where it comes from. About the design, I guess I did it by myself. But the current look is kind of two years old cause I am not a designer, i can only improve the layout little by little. and of course, I got a lot of help and inspiration from Google :-) On Sat, Mar 5, 2011 at 11:12 AM, Aaron Kavlie <akavlie@gmail.com> wrote: > FYI, I got the 502 error on first page load myself. After refreshing it's > fine. > The design is quite nice. Did you design it yourself, or did you get > assistance from a designer? > > > On Fri, Mar 4, 2011 at 5:25 PM, Admin Expert.io <admin@expert.io> wrote: > >> Hello, fellow Flask users! >> >> I started learning Flask this year and here is a small project I built >> using Flask. >> Marketplace for your expertise >> http://expert.io >> >> Being a ex-Django user, developing in Flask is really a pleasure to me. >> But I do have some question to ask if it is appropriate. As I am using >> nginx as the front end, it would sometimes show a 502 error which I have no >> idea what it is about. >> The system is deployed with gunicorn + gevent. >> >> Please leave any comment or suggestion! >> >> Thank you for your time. >> >> Cheers, >> >> Justin >> > > > > -- > freelance web development > aaron.kavlie.net >