pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/py-uwsgi



Module Name:    pkgsrc
Committed By:   rodent
Date:           Sun Jun 15 05:19:57 UTC 2014

Modified Files:
        pkgsrc/www/py-uwsgi: Makefile distinfo

Log Message:
2.0.5

Bugfixes

    fixed support for repeated headers in lua plugin
    fixed support for embedding config in OpenBSD and NetBSD
    various fixes in the curl-based plugins
    fixed milliseconds-based waits
    fixed sharedarea poller
    fixed stats server json escaper
    fixed fastcgi parser and implemented eof management
    improved fast on-demand mode
    exclude avg_rt computation for static files
    fixed variables support in uwsgi internal router
    fixed websockets + keepalive ordering
    disable SIGPIPE management in corutines-based loop-engines
    fixed 64bit sharedarea management in 32bit systems
    honour chmod/chown-socket in fd0 mode
    hack for avoiding Safari iOS to make mess with keepalive
    fixed log setup when both --logto and --log2
    fixed mule_get_msg EAGAIN
    signal_pidfile returns the right error code
    fixed asyncio on OSX

New features
graceful reload of mule processes

SIGHUP is now sent to mules instead of directly killing them. You are free to 
trap/catch the signal in the code. If a mule does not die in the allowed "mercy 
time" (--mule-reload-mercy, default 60 seconds), SIGKILL will be sent.
return routing action

The new action will allow users to write simplified "break" clause.

For example, "return:403" is equivalent to "break:403 Forbidden", with response 
body "Forbidden".

The response body is quite useful for telling end users what goes wrong.
--emperor-no-blacklist

this new option, completely disables the blacklisting Emperor subsystem
Icecast2 protocol helpers

One of the upcoming unbit.com projects is a uWSGI based audio/video streaming 
server.

The plugin (should be released during europython 2014) already supports the 
Icecast2 protocol.

A bunch of patches have been added to the http router to support the icecast2 
protocol.

For example the --http-manage-source option allows the HTTP router to honour 
SOURCE method requests, automatically placing them in raw mode.
--metrics-no-cores, --stats-no-cores, --stats-no-metrics

When you have hundreds (or thousands) of async cores, exposing metrics of them 
could be really slow.

Three new options have been added allowing you to disable the generation of 
core-related metrics and (eventually) their usage in the stats server.
sharedarea improvements

The sharedarea api continues to improve. Latest patches include support for 
mmapping device directly from the command line.

A funny way for testing it, is mapping the raspberrypi BCM2835 memory, the 
following example allows you to read the rpi system timer

uwsgi --sharedarea file=/dev/mem,offset=0x20003000,size=4096 ...

now you can read the 64bit value from the first (zero-based) sharedarea:

# read 64bit from 0x20003004
timer = uwsgi.sharedarea_read64(0, 0x04)

obviously, pay attention when accessing rpi memory, an error could crash the 
whole system !!!
UWSGI_GO_CHEAP_CODE

This exit code (15) can be raised by a worker to tell the master to not respawn 
it
PROXY1 support for the http router

The option --http-enable-proxy-protocol allows the HTTP router to understand 
PROXY1 protocol requests (like the ones made by haproxy or amazon elb)
reset_after_push for metrics

This metric attribute ensure that the matric value is reset to 0 (or its 
hardcoded initial_value) evry time the metric is pushed to some external system 
(like carbon, or statsd)
setremoteaddr

This routing action allows you to completely override the REMOTE_ADDR detected 
by protocol handlers:

[uwsgi]
; treat all requests as local
route-run = setremoteaddr:127.0.0.1

the resolve option

There are uWSGI options (or plugins) that do not automatically resolves dns 
name to ip addresses. This option allows you to map a placeholder to the dns 
resolution of a string:

[uwsgi]
; place the dns resolution of 'example.com' in the 'myserver' placeholder
resolve = myserver=example.com
subscribe2 = server=%(myserver),key=foobar


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 pkgsrc/www/py-uwsgi/Makefile
cvs rdiff -u -r1.18 -r1.19 pkgsrc/www/py-uwsgi/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index