Tests about a simple python3 fastcgi runner using libfcgi and the Python-C API.
python
c
wsgi
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Yann Weber 7004f544e4 Add a todo + some commented debug lines + foo_pep333.py enhancement 5 年前
include Add a todo + some commented debug lines + foo_pep333.py enhancement 5 年前
src Add a todo + some commented debug lines + foo_pep333.py enhancement 5 年前
tests Start implementing pep333 application support 5 年前
AUTHORS Add missing am files 5 年前
COPYING Add autotools & checks 5 年前
ChangeLog Add missing am files 5 年前
Doxyfile Start implementing pep333 application support 5 年前
Makefile.am Deleted lib dir + autoconf enhancement 5 年前
NEWS Add missing am files 5 年前
README Deleted loglines, updated README + add check on FCGX_PutStr calls 5 年前
autogen.sh Start implementing pep333 application support 5 年前
configure.ac Deleted lib dir + autoconf enhancement 5 年前
foo.py 1st fonctionnal implementation of both python<->C IPC 5 年前
foo_pep333.py Add a todo + some commented debug lines + foo_pep333.py enhancement 5 年前
includes_python3.7m.patch Initial commit 5 年前

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}'