4 ms·
You're calling code that depends on C extensions from directly inside the request-response cycle? One possible solution would be to offload this work into a ce
by nsomaru 10y ago
You're calling code that depends on C extensions from directly inside the request-response cycle?
One possible solution would be to offload this work into a celery worker which can call python2 as necessary.
- osullivj 10y agoI code against both Django and Tornado. My Tornado based HTTP servers call C extension while they're handling GETs and POSTs. And that's why I'm staying on 2.7.8 until a customer pays me to port to 3.
- Siecje 10y agoI'm curious why 2.7.8? What is preventing you from using 2.7.9+?
- osullivj 10y ago2.7.8 was the latest 2.x when I built the current codebase. Currently I'm testing before a cloud launch. Fixing bugs in my product's functionality is a higher priority than porting to the latest 2.7
- tedmiston 10y agoPython 2.7.9 Release Date: 2014-12-10 https://www.python.org/downloads/release/python-279/ https://www.python.org/downloads/release/python-279/
- nostrademons 10y ago2 years is not an unusual time between starting product development and seeing any sort of major customer uptake, and if you're in that time period, your priority really should be getting the customers rather than futzing with code migrations.
- toyg 10y agoIt's still the case that a bad call was made when the codebase was started, picking a language version that was already on its way out. It's like starting a new project now with Java 7 o .Net 2.0.
- nostrademons 10y agoOf all the bad calls you can make when starting a business, picking a bad language or platform is a relatively minor one. Google was originally on Python 1.6 (or technically Java 1.02, if you go back to when it was Larry's dissertation project), Facebook chose PHP (!!), basically every Android app is forced to use Java 7, and a good number of iOS apps are still in Objective-C.
- Groxx 10y agoThat doesn't seem too surprising. E.g. for Tornado, you have tornaduv, a C replacement for the core ioloop running everything. Replacing hot spots with C is a tried and true tactic. I don't see how django would substantially change that equation.