Recent

Author Topic: Possible future integration with uWSGI?  (Read 1171 times)

kveroneau

  • Full Member
  • ***
  • Posts: 119
Possible future integration with uWSGI?
« on: March 20, 2019, 07:23:31 pm »
I am just putting this out there, as uWSGI is no longer just for the deployment of Python web applications, but now supports a large amount of languages and frameworks.  uWSGI scales really well, and has a lot of really advanced features for Web Applications.  I may at one point look at their C integration and see if it will be possible to use their header file to generate a compatible library file from Pascal that will run in uWSGI.

Oh cool, looking at how Go(also a compiled language) is integrated, uWSGI is just a library and I guess the first code to get called from the generated binary:  https://uwsgi-docs.readthedocs.io/en/latest/Go.html

I am definitely going to look into how their C library for uWSGI works and see if it can be adapted for Web Applications built in Lazarus.  Yes, I am aware that uWSGI does support CGI and FastCGI applications, but it is more efficient running within uWSGI using it's protocol.

Has anybody else looked into this?  Has there been any past research and/or work done on this?  I don't want to reinvent the wheel if someone has already put in the effort.  If not, I'd love to look into this and contribute a uWSGI module for Lazarus for the deployment of Web Applications.

Looking further into how Go(as an example plugin) is integrated with uWSGI, I can see that it has two distinct methods.  The first mentioned above, where go uses a special module which compiles in the full uWSGI server into a single unified binary file containing both the uWSGI server and your web application.  The other method I can see here is a uWSGI plugin, which itself is written in C and loads a shared library which was compiled using Go.

https://github.com/unbit/uwsgi/tree/master/plugins/gccgo

I don't think integrating FPC/Lazarus into uWSGI will be too difficult, and will greatly benefit the deployment of Web Applications written in FPC/Lazarus.  I currently use uWSGI for the deployment of various Python web applications, and it's a wonder container software, allowing web applications to accelerate and scale up as needed.
« Last Edit: March 20, 2019, 07:41:47 pm by kveroneau »

 

TinyPortal © 2005-2018