Tests about a simple python3 fastcgi runner using libfcgi and the Python-C API.
python
c
wsgi
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Yann Weber 1762b5a272 Deleted useles comment in responder.c 4年前
include Add a way to know if an IPC component is initialized or not 4年前
src Deleted useles comment in responder.c 4年前
tests Add ipv6 parse function tests 4年前
AUTHORS Add missing am files 4年前
COPYING Add autotools & checks 4年前
ChangeLog Add missing am files 4年前
Doxyfile Start implementing pep333 application support 4年前
Makefile.am Deleted lib dir + autoconf enhancement 4年前
NEWS Add missing am files 4年前
README Bugfix foo_pep333.py for uwsgi 4年前
autogen.sh Start implementing pep333 application support 4年前
benchmarks Add 120s siege benchmarks 4年前
configure.ac Add a todo for a POSIX semaphore problem :'( 4年前
foo.py 1st fonctionnal implementation of both python<->C IPC 4年前
foo_pep333.py Bugfix foo_pep333.py for uwsgi 4年前
includes_python3.7m.patch Initial commit 4年前

README

Patch python3 headers :
-----------------------
# cd /usr/include/python3.7m/
# patch -p1 < PATH_TO/includes_python3.7m.patch

Building & running pyfcgi :
---------------------------
$ ./autogen.sh
$ ./configure
$ make
# To run foo_pep333.entrypoint() PEP333 application
$ spawn-fcgi -d . -n -p 9000 -a 127.0.0.1 -- src/pyfcgi -S -e foo_pep333 -E entrypoint
or
# To run foo.entrypoint() sending to FCGI python stdout
$ spawn-fcgi -d . -n -p 9000 -a 127.0.0.1 -- src/pyfcgi -S -e foo -E entrypoint -A


configure script determine python flags, libs & includes paths using
python3-config programm. The path can be specified using the
PYTHON_CONFIG_PATH environment variable.

Example : linking against a debug build of python :
---------
$ ./configure PYTHON_CONFIG_PATH=/usr/bin/python3dm-config --enable-debug
$ make clean && make
$ valgrind --log-file=/tmp/val.log --trace-children=yes spawn-fcgi -d . -n -p 9000 -a 127.0.0.1 -- src/pyfcgi -S -e foo_pep333 -E entrypoint -L '/tmp/foo.log;0xff;{datetime} {msg} {ident}'

logging to file example :
-------------------------
-L '/tmp/foo.log;0xff;{datetime} {msg} {ident}'

uwsgi equivalent :
------------------
uwsgi_python3 --fastcgi-socket 127.0.0.1:9000 --module foo_pep333:entrypoint --processes=5