Answer the question
In order to leave comments, you need to log in
What's wrong with a Python web server on Windows?
I am faced with the task of making some kind of web application for a small team (within ten people), the result of which is a rather complex Excel file. So far, I see it like this: lighttpd + python + flask + uWSGI. The difficulty is that, as I understood from reading a number of articles, it is best to use not an external python library for xlsx output, but a Windows com-object. But I really don’t want to run the server on it, my dear - and with WSGI it’s tight there, and there are few manuals, and it’s slower, and it’s not kosher at all. The second option is to separate tasks: on centOS, let the web with python spin, and for xlsx generation, let it pop into a windows machine with a running service on the same python. Fortunately, there are enough cars.
I am also open to suggestions to change X to Y (lighttpd to ngnix, com to openpyxl, python to basic)
So, which is better:
1) Step over yourself and run everything on Windows (at least on IIS);
2) Split tasks across different machines with some performance loss (not sure if I can make a normal multi-threaded xlsx generation service);
3) Leave stupid ideas and redo everything like this: ________ (write in the right one)
Answer the question
In order to leave comments, you need to log in
Let's get a look. The tricky (I think you understand what you need and it's more complicated than merging cells and applying different formatting styles to them) converting xls files is a rather laborious task. By running it purely on Linux, you can also run into performance issues, especially when it comes to interpreting formulas, working with binary archived data, or VBA emulation.
On the other hand, of course, you need to be prepared for this, you won’t get all the functionality on Linux, with some degree of confidence we can say that you will get a rake in the most unexpected places, for example, when working with encodings or preparing a document for printing.
Therefore, from my point of view, it is more correct to do it on different systems, if you want to do it for sure .
As for your fear of multithreading, you don't have to implement it. It is enough to run IIS on a windows machine and access it only for this file, no more why. Or to attract for the same purposes the usual shared folders, in which there will be an executable file. That is, to shift multithreading to existing services and services.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question