5 ms·
> The documentation from uWSGI is really great I don't think the documentation is really great. I think it is terrible. Every page seems to assume you unders
by calpaterson 11y ago
> The documentation from uWSGI is really great
I don't think the documentation is really great. I think it is terrible. Every page seems to assume you understand the internals and the documentation attaches fancy names to concepts that are difficult to understand from the documentation.
For example, "workers' mercy", "zerg mode", "emperor mode", "the zeeg problem", "uwsgi mules", "harakiri mode".
I for one would like uwsgi a lot more if it focused on a few simple patterns that worked for the majority of cases and explained them thoroughly, including their tradeoffs.
- wisty 11y agoSounds like Twisted all over again. A powerful framework with a steep learning curve.
- papercruncher 11y agoSort of. You can definitely be up and running relatively easily, it's just there are so many different knobs and switches and ways to set things up, you never know if you are doing things the right way. I also agree that the documentation is not particularly helpful and sometimes it's contradictory. The software itself is rock solid though, gives me very little trouble (other than logrotate & emperor mode being a pain)
- calpaterson 11y agoIt's theoretically rock solid. In practice there are many common scenarios where uwsgi goes wrong. Here's one where a seemingly normal configuration of supervisor and uwsgi doesn't work because uwsgi attached a special meaning to SIGTERM https://github.com/unbit/uwsgi/issues/296 https://github.com/unbit/uwsgi/issues/296 Note that the bug is closed because it will be fixed in an as-yet unreleased version!
- teleyinex 11y agoYes, you are right. But, IMHO the solution is really simple. In your supervisor config you ony add this option and everything works as expected: stopsignal=QUIT We're using it and no problems so far. Simple!
- calpaterson 11y agoRead the thread I linked - multiple commenters say that using SIGQUIT does not solve the problem for them and eventually unbit states that he recommends using --die-on-term. You are using the wrong workaround, so if you haven't had problems yet, it could only be a matter of time. And this is only one aspect of uwsgi that is buggy/unclear
- teleyinex 11y agoThanks! I'll have a look again :-)
- teleyinex 11y agoThe basics are really well covered. Then, the more advance stuff is "a bit more complicated". In any case, that's why I've written some blog posts about advance uwsgi configurations that we use in production systems like Crowdcrafting.org