Tag Archives: uwsgi

uWSGI : v1.4.6 released

This is quite a big release for its backports and improvements. But there are two more interesting things to note here : uWSGI supports Heroku and Dreamhost deployments !

tutorials

highlights

  • fix SERVER_PORT value in corerouters when using shared sockets
  • backported –thunder-lock option to reduce thundering herd problem (use with caution)
  • fixed pthread robust mutexes in newer glibc
  • backported improvements for the alarm_xmpp plugin
  • fixed suspend when harakiri is in place
  • reset sigmask on startup
  • fixed master+emperor configurations
  • backported more logvars (check here: https://uwsgi-docs.readthedocs.org/en/latest/LogFormat.html)
  • fixed muleloop in uwsgidecorators
  • fixed a refcnt bug in the psgi plugin spotted by Nick Gregory (issue #158)
  • backported new python build system (Heroku friendly)
  • backported –perl-arg and –perl-args options (to add items in @ARGV)
  • backported perl async fixes
  • allows –attach-daemon without workers

mongoDB v2.2.3 & uwsgi v1.4.5

Today’s bumps are interesting, kudos to both upstreams for their work.

mongodb-2.2.3

The main benefit of this version is the performance improvements on replicaSets. You can see the changelog here.

uwsgi-1.4.5

This one is quite a bump. I was particulary interested to know that the memory leak discovered on the gevent loop got fixed. Have a look at all the nice backports too, they’re worth it.

  • added –python-version and –perl-version
  • fixed a gevent memory leak
  • backported –extract option
  • added HTTP_Authorization support in mod_proxy_uwsgi
  • backported –php-fallback
  • backported perl uwsgi::postfork and uwsgi::atexit
  • fixed a memory leak with –http-socket during uploads
  • fixed unix signals usage in mules and spoolers
  • reset cores/requests on worker startup
  • fixed a refcnt bug in python uwsgi.workers()
  • fixed async mode when multiple fds are in place
  • fixed a cache collision bug
  • backported –emperor-procname
  • backported –touch-reload refactoring from 1.5
  • backported master+emperor fix from 1.5
  • new rbtree implementation (based on nginx) backported from 1.5
  • backported new logvars from 1.5

uWSGI : v1.4.4 released

Bug fix release only, I’ve just bumped it on portage.

highlights

  • backported a couple of fixes for the https router
  • fixed wrong typecasting in yaml and fixed subscription system on 32 bit
  • added and additional error report for the gevent plugin if a read() fails
  • improved apache2 mod_proxy_uwsgi

See the full changelog as usual.

uWSGI : v1.4.2 released

Quick post for a bugfix release with some added flavor features for PHP users.

highlights

  • improved perl mules support
  • fixed pending datas management in https router
  • fixed thread-offloading of really big static files
  • added –php-app-qs as micro-optimization (in-place of rewrite rules) for php apps
  • added –php-var to inject custom (fixed) vars in the request

Full changelog here, as usual.

uWSGI : v1.4.1 LTS released

Ok that’s a neat uwsgi release here and stamped for Long Time Support by unbit. I’ve tested it before bumping it to portage and it’s behaving nicely with my gevent apps as there have been some nice improvements on this part as well. Quite a bunch of code have been refactored and optimized for enhanced performances. Have a look at the highlights, they’re to be read with care.

highlights :

  • Support for the Go language
  • Enhanced gevent reloading and handling (truly non-blocking wsgi.input, truly non-blocking writes…)
  • Improved http/https router and fastrouter (better event-based engineering, reduced syscall usage)
  • Improved systemd support
  • Log filtering and routing
  • Smart attach daemon to start a daemon along with your app
  • A big work is being done about the documentation

Yep that’s some heavy stuff, there is more so you should definitely read the different changelogs on the mailing list !

uWSGI : v1.2.6 and v1.3 released

The v1.2.6 is a maintenance release with some interesting backports while the v1.3 series start with a couple of new interesting features and plugins such as a mongodb logger. On my async python usage side, I’m glad to see this new version coming for its enhanced –lazy-apps option and gevent grace reloading.

v1.2.6 highlights :

  • fixed idle mode on busy workers
  • backported subscription round robin weight handling from 1.3

See the complete changelog.

v1.3 highlights :

  • New plugin : router_http (compiled-in by default)
  • New feature : –if-env (and –if-opt) can compare values
  • http/https non-blocking writes
  • Busyness cheaper algorithm by Łukasz Mierzwa
  • MongoDB integration for logging

uWSGI : v1.2.5 released

This is a maintenance release of uWSGI with one new feature supporting pam authentication mechanism. The ebuild has been bumped with a new pam USE flag.

Bug fix highlights :

  • allows ugreen with threads
  • added the pam plugin (sponsored by PythonAnywhere.com)
  • added –so-keepalive option to enable TCP keepalives on sockets

See the complete changelog.

uWSGI : v1.2.4 released

This is a maintenance release of uWSGI whicih contains two new features and lot of bug fixes, it is now available in portage. Two of those fixes I was longing for 🙂

Bug fix highlights :

  • fixed python atexit usage in the spooler
  • fixed a threading issue with uwsgi.send()
  • fixed a leak in python uwsgi.workers()
  • fixed spooler with chdir
  • fixed async+threading
  • fixed the spooler-max-tasks respawn
  • allow gevent’s greenlets to send jobs to the spooler

See the complete changelog.

uWSGI : new ebuild in portage

I started to rework the uwsgi ebuild on March 7th because I was not satisfied with the one available in portage. The current version was out of date and the package itself was not really suited for production deployment.

Luckily my fellow Gentoo Linux developer Tiziano Müller (dev-zero) was also in the same kind of process for his own needs so we teamed up to achieve this goal. Our main focuses were :

  • Bring the emperor mode support
  • Ease and clarify the overall configuration
  • Code a more versatile init script and conf.d file
  • Add a better support of the available plugins and python versions
  • Support PHP

I’m glad to announce that our reworked ebuild is now available in portage for all users, we hope that it will come handy to everyone who needs it.

Thanks again Tiziano, it’s always a pleasure to work with you !