76 Commits

Author SHA1 Message Date
C Anthony Risinger 849a85b250 Introduce uwsgi.binary_argc
If more than uwsgi.binary_path is needed to make uWSGI self-referential on
reload, plugins can use this field to skip processing of N initial arguments.

eg. if uWSGI is embedded in a host application or interpreter::

    python -B -E -m uwsgi --socket=:8000 --show-config [...]

argv[1:5] are intended for Python, and not for processing by uWSGI, even though
uWSGI might want to manage it (process name). The arguments also cannot just be
ignored because they are crucial for proper reloads.
2015-09-17 04:00:20 -05:00
Roberto De Ioris 20a0be1897 worker logger implementation #894 2015-08-27 05:43:04 +02:00
INADA Naoki f3bd8a9fab Add spare2 cheaper algorithm for larger workload 2015-06-16 16:17:22 +09:00
Roberto De Ioris aaca4ef236 added memory collector 2015-05-17 05:52:27 +02:00
Mike Kaplinskiy 8099dbd9e2 Don't spin if we exhaust the async worker pool. 2014-09-17 13:06:05 -04:00
Mike Kaplinskiy 1a4f333912 Allow --async 1 (i.e. sync mode, but with a different loop engine) 2014-08-17 13:13:17 -04:00
Roberto De Ioris 22245055ef fixed #642 2014-06-02 06:54:56 +02:00
Unbit 1219f6fc30 added adopted-vassals concept 2014-05-06 17:28:39 +02:00
Unbit fa269b8838 start investigating argc/argv implications 2014-05-03 11:44:24 +02:00
Unbit 8b8b57769e first prototype of a fork server 2014-05-03 10:17:27 +02:00
Unbit 6ac6e58bf7 refactored return action 2014-05-02 12:00:08 +02:00
Yu Zhao 95825c9b99 core/routing: add "return" 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.
2014-05-01 15:32:08 -07:00
Paul Egan 72c31dab7a Support for graceful reload of mule processes.
- On reload master now signals mule with HUP instead of KILL.
- Added optional call to PyOS_AfterFork to enable cpython child
  processes to override and trap HUP signal.
- Copied cursed_at/no_mercy_at pattern used with worker processes.
- Added mule_reload_mercy option.
2014-04-26 14:12:48 +01:00
Unbit 2ad6a1c8e8 prepare for notification socket 2014-01-09 12:43:28 +01:00
Unbit 37acca060b added --spooler-frequency 2014-01-05 09:19:40 +01:00
Unbit 61f3d162a4 getting rid og dynamic options (step 1) 2013-12-26 16:48:50 +01:00
Unbit 3b64838324 fixed snprintf() usage all over the place 2013-12-20 08:54:27 +01:00
Unbit 3d15660407 added a skel hook for waiting for 2 file descriptors 2013-12-03 19:34:15 +01:00
Unbit 5182eaf485 another round of sharedarea implementations 2013-11-29 12:47:59 +00:00
Unbit 4184619f7b removed snapshotting old feature 2013-11-10 02:59:15 +01:00
Fran Boon d0a53aa976 Support HTTP Status 509
Whilst this isn't an official RFC, it's documented on e.g. Wikipedia. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_Error
2013-11-08 10:49:48 +00:00
Łukasz Mierzwa a98c5a3931 fixed stupid typo in cheaper rss limits options validation 2013-09-27 23:21:45 +02:00
Unbit cd2ff0e585 emperor proxy 2013-09-26 07:51:13 +02:00
Unbit 41a4bbccfc added Emperor curse support 2013-09-26 07:04:08 +02:00
Unbit f8a48a3ae9 fixed a bug with fd 0 2013-09-24 09:52:49 +02:00
Unbit 4ad2658090 added master fifo 2013-09-18 11:08:56 +02:00
Unbit 68ec3afd1a another round of strtok removal 2013-09-17 15:14:55 +02:00
Łukasz Mierzwa a50516af7a allow setting cheaper rss memory limits 2013-09-14 01:04:19 +02:00
Unbit 13c64a383c added response routes 2013-09-08 08:23:44 +02:00
Unbit e6d5f6c612 fixed #366 2013-08-23 20:49:39 +02:00
Unbit e8895ba773 better thunder_lock usage on unbit 2013-07-11 09:39:30 +02:00
Unbit 5a23a8d457 better computation of listen queue load 2013-07-11 08:45:46 +02:00
Unbit b516f1d3ec added --chunked-input-limit and --chunked-input-timeout 2013-06-09 03:06:12 +02:00
unbit 5c03c25e96 Merge pull request #237 from prymitive/cgroup_perms
allow setting cgroup dir mode
2013-05-22 05:23:42 -07:00
Unbit 1b2375fc84 added error routes 2013-05-12 18:02:33 +02:00
Unbit 098a1f647e added final routes or running rules at the end of the request 2013-05-10 15:08:33 +02:00
Unbit bd137afecf fixed thread bug with routing regexp vectors 2013-05-04 12:39:08 +02:00
Łukasz Mierzwa 7c4caef5e7 allow setting cgroup dir mode 2013-04-18 13:13:15 +02:00
Unbit dd1881576a removed grunt support 2013-03-10 22:22:16 +01:00
Unbit f3f191558a removed the threaded cache server, it has been superseeded by the new async architecture 2013-03-08 11:29:56 +01:00
Unbit d8d60e9a24 signals can now be registered even by non-fork friendly plugins 2013-03-04 06:48:25 +01:00
Unbit e610682b31 added exception_log plugin 2013-02-19 12:34:43 +01:00
Unbit d397036e29 improved the alarm subsystem 2013-02-15 12:17:29 +01:00
Unbit c92fde03b9 various micro-optmizations in async, caching and static file serving 2013-02-15 08:11:33 +01:00
Łukasz Mierzwa c32da58a7c additional validation of the --cheaper value at startup 2013-02-09 14:15:35 +01:00
Unbit 65c047dca1 added timebomb concept and improved gevent reloading 2013-02-09 07:55:12 +01:00
Unbit 9d5d439191 rpc subsystem is now async/greenthreads friendly 2013-02-07 18:31:44 +01:00
Unbit 9f15345183 prepare dor async-friendly rpc 2013-02-07 17:23:59 +01:00
Unbit d4130dbc4b first round of protocol parsers optimizations
preliminary api for language-independent body read

another step

completed body read language independent implementation

ported gevent to the new read/write api

ported websockets to the new read/write api

removed channels subsystem

removed channels subsystem

ported lua to the new read/write api

fixed post-buffering

readline is still broken

improved request body readline

very difficult test for readline()/read() combo passed

other improvements in postbuffering/read/readline

ported --http-socket to the new api

added X-Forwarded-SSL management

removed old api

more refactoring

ported the RACK plugin to the new api

ported psgi plugin to the new api

defintely removed clustering

simpified ifdel hell

simpified ifdef hell

removed useless configuration options
2013-02-03 10:38:13 +01:00
Łukasz Mierzwa c1682f4ee4 reload/cheap mercy for invidual workers 2013-01-27 23:19:50 +01:00