c2bcf7691f
Separate watchdog & stats timer signals
2019-08-11 16:47:29 +02:00
2a49fb1c00
Worker PID storage enhancement
2019-08-11 15:46:04 +02:00
f2c44b9b6d
Bugfix for worker creation with small execution time
...
When running dummy scripts the sem_timedwait was unable to detect that the
pool was busy...
2019-08-11 15:22:46 +02:00
26f05d869b
Fix #28 add a watchdog for the stats server
2019-08-11 15:10:42 +02:00
42ecf1d35a
Bugfix in watchdog killer timer delay calculation
2019-08-11 15:06:29 +02:00
9256b383b1
Fix #29 limiting SHM updates to 1 per second
2019-08-11 14:29:39 +02:00
b3af92459e
Add worker count & load to stats : solve #24 solve #20 solve #19
2019-08-11 14:19:48 +02:00
a9d6e1100e
Patching average stats function
2019-08-11 12:57:30 +02:00
21acb49751
Begin SHM support implementation for stats server process
2019-08-11 12:29:54 +02:00
a1f5517fe5
Signal handling enhancement
2019-08-11 11:12:52 +02:00
15e396778b
Rollback average function
2019-08-10 17:24:34 +02:00
831f1ebcb4
New average implementation
2019-08-10 17:14:56 +02:00
fc0945d891
Removed useless argument to average calculation function
...
Defining a PYFCGI_STATS_SZ = 15 * 60s = 900
2019-08-10 16:00:26 +02:00
98162eb2bc
Average function enhancement
2019-08-10 15:48:19 +02:00
f715ee5381
Extract average calculation in separated function
2019-08-10 15:34:16 +02:00
d106364638
Monitor server enhancement
...
- send buffer formated by stats functions to clients
- close client socket if needed
- allow bind to reuse an address if nobody listen on it
2019-08-10 15:17:29 +02:00
87c0efb4ba
Add a stats format buffer & functions
2019-08-10 15:16:47 +02:00
2953f2feee
Add an uptime field to conf context
2019-08-10 15:15:51 +02:00
7b99f5f48f
Use the new stats features in PyFCGI
...
The worker indicate each new request using semaphore
2019-08-10 02:41:48 +02:00
dffe441065
Starting stats collection implementation : request counter
2019-08-10 02:41:15 +02:00
1762b5a272
Deleted useles comment in responder.c
2019-08-10 02:40:04 +02:00
5db32eb990
Add a way to know if an IPC component is initialized or not
2019-08-10 02:39:11 +02:00
bd6267330a
Add a todo for a POSIX semaphore problem :'(
2019-08-09 18:17:13 +02:00
9e0d3f34f5
Add sighandler for monitor server
2019-08-09 18:01:13 +02:00
7829c1c019
Add monitor server handling & new process handling for master
2019-08-09 17:53:59 +02:00
6b9634c843
Continuing monitor server
...
Implementing a dummy stream response loop sending PyFCGI version
2019-08-09 17:24:12 +02:00
5c42fde3a4
Add ipv6 parse function tests
2019-08-09 16:06:45 +02:00
e3477561ee
Write some tests for monitor URL parsing functions + bugfixes
2019-08-09 16:01:57 +02:00
23ca05c04a
Starts UDP stats/status server implementation
2019-08-09 14:16:51 +02:00
4daea42c44
Replacing old sysV sem by new POSIX solves #25
...
Creating new files to handle IPC stuffs : include/ipc.h src/ipc.c
2019-08-08 18:13:47 +02:00
6913e228b8
Deleted old TODO
2019-08-08 15:19:45 +02:00
fe56265ecd
Enhancement in timeout logging
...
Now logging a python traceback
2019-08-07 18:45:38 +02:00
47a4e99e5b
Idle timeout counter updated value
...
7 seems better than 5.
2019-08-07 17:39:03 +02:00
710ab8281c
Pool handling enhancement + bugfix in worker sighandling
...
The responder_loop handle better child creation & deletion. A conf struct
member indicates the number of seconds the pool have to be idle before deleting
a worker.
In a same way, the pool has to be busy for at least 1s before a new
process can be added (the -f flag indicate if the counter has to be reseted
when a new process is created, allowing spawn burst).
The spawn() function call sigaction 2 times for SIGINT & SIGTERM in order
to catch both.
2019-08-07 17:13:57 +02:00
5466d9c575
Modification of workers making them always exist busy
...
Adds a global flag for worker indicating their status (add checks for
each semaphore change)
The pool handler will no longer have to decrease the semaphore value when
a child exit.
2019-08-07 17:12:19 +02:00
5ad51d95fb
Add two options + status2str function
...
Add a -t --timeout and a -f --fast-spawn option for further commit
2019-08-07 17:11:30 +02:00
7411301254
Logger ident allignement
2019-08-07 15:19:57 +02:00
bcbbb99770
Add timeout & watchdog for pool & workers
2019-08-07 15:15:04 +02:00
7c81ca411d
Add 120s siege benchmarks
2019-08-06 18:45:19 +02:00
1456e35e96
Bugfix foo_pep333.py for uwsgi
...
uwsgi do not handle str, only bytes.
2019-08-06 18:44:33 +02:00
7b22e9278c
Add a --verbose option
...
Add --verbose -v option to log on stderr
2019-08-06 18:12:55 +02:00
7004f544e4
Add a todo + some commented debug lines + foo_pep333.py enhancement
2019-08-06 17:20:54 +02:00
d3c9e2de42
Add sys.stdout & sys.stderr logging for pep333 worker
2019-08-06 17:18:47 +02:00
0506b7824e
Debugging libpyfcgi.IoIn.read()
...
A '\0' need to be added to read string if read exactly the expected ammount of
bytes.
2019-08-06 16:23:37 +02:00
7c1bcc2fcc
Debug in libpyfcgi.IoIn.read() method
...
read buffer was dropped
2019-08-06 15:59:09 +02:00
512580c924
Implement partial support for wsgi.* environ
...
The url_scheme is static to "http" for the moment...
2019-08-05 16:45:48 +02:00
ccb4234906
Now log_expt() logs a traceback
2019-08-04 16:50:52 +02:00
cc0af1abb2
Bugfix in PEP333 worker when application trigger an exception
2019-08-04 16:19:12 +02:00
81a8bb752e
Add support for virtualenv & site packages
...
Note : segfault on virtualenv tests...
2019-08-04 16:03:36 +02:00
11df1455cf
Add signal handling and clean exiting
2019-08-04 16:02:42 +02:00