Solved Run flask server in background of KODI - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32) +--- Forum: Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=26) +--- Thread: Solved Run flask server in background of KODI (/showthread.php?tid=337454) |
Run flask server in background of KODI - bojan1611 - 2018-11-13 I have flask script that i would like to run in background when KODI is running or when i enter certain addon. I know i could make it work on windows as to run it with subprocess or some other way in CL, but i want it to make it also able to run on android, so it would be better to able to run it just from KODI. I see there is Service addons, but i don't know if i would be able to run flask server with just KODI on windows, android...., or if is there some other way to run flask server on KODI... RE: Run flask server in background of KODI - Roman_V_M - 2018-11-13 There is no such thing as "Flask server". Flask web-framework uses external WSGI servers to run, and for simple cases you can use Python's built-in WSGIref server. But your server needs to be gratefully shut down on Kodi exit. Kodi itself also includes a WSGI server but I'm afraid it's not well documented. Here's an example from one of my old addons: https://github.com/romanvm/kodi.yatp/blob/master/plugin.video.yatp/server.py#L47 It runs a Bottle web-app, but the general principle is the same. RE: Run flask server in background of KODI - bojan1611 - 2018-11-13 (2018-11-13, 15:57)Roman_V_M Wrote: There is no such thing as "Flask server". Flask web-framework uses external WSGI servers to run, and for simple cases you can use Python's built-in WSGIref server. But your server needs to be gratefully shut down on Kodi exit. Kodi itself also includes a WSGI server but I'm afraid it's not well documented.It's very simple server with just 50 lines of code. I found some example of wsgiref, here is the code:
it works but i can't run anything else, it's just spinning circle and doesn't load code after httpd.serve_forever(). How would i run this in background so everything else would work fine? I am guessing with threads, but maybe there is some other way. EDIT: It looks like a manage to run it on thread and at least for everything works fine RE: Run flask server in background of KODI - enen92 - 2018-11-15 You can also plug flask into Kodi's webserver (microhttpd) as a webinterface addon: https://github.com/tamland/kodi-flask-demo RE: Run flask server in background of KODI - bojan1611 - 2018-11-16 I made it to work on a thread, but now i have the speed problem. If i run python script with flask outside KODI, everything works fine, but when i run it with wsgiref in KODI, then i have a problem, as when i start video processor is on 100% and video is not smooth, python script just download video every 15-20s and then serve it to KODI, is there any way to solve this to run just in KODI? |