Hi, as many of you already know the current "go" plugin will be put "on hold" until the official go distribution will be more "embeddable"
>From now on the "gccgo" plugin will be the officially blessed way to run uWSGI apps developed with go. The new plugin is a lot more uWSGI-friendly than the old one. The most interesting thing is that you do not need anymore to rebuild the whole server. Your app will be compiled as a shared library you can load in the server core. The plugin has been tested with gcc-4.7 and gcc-4.8 Steps: CFLAGS=-g UWSGI_PROFILE=gccgo make (-g is required since gcc 4.8) will build a monolithic uWSGI with the gccgo plugin in it. In addition to this a uwsgi.gox file is generated allowing your apps to import the "virtual" "uwsgi" module. Copy this file where you want and build your first app as shared library: gccgo -shared -fPIC -o myapp.so -Idir_of_uwsgi.gox t/go/uploadtest.go -lgcc (set dir_of_uwsgi.gox to the directory in which you have copied the gox file, you can put it where the other gox files are, in such a case -I is not needed) Now run the app: ./uwsgi --http-socket :9090 --http-socket-modifier1 11 --go-load ./prova.so the --go-load load a library in the process address space (you can call it multiple times if needed) Now go to the /view url and check if the upload test is working. The uWSGI api has been not exposed (i will work on it soon). All of the uWSGI features work (included setting process names). Dinamically setting go arguments will be added in the next few days Performance looks the same (the new plugin is a bit faster as there are less translations than before thanks to the 1:1 mappings of gccgo with c) Go developers, let me know what you think about it :) -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
