Hello. I explored that, but still don't understand how to properly use it. If you have time, please, help me.
On Sunday, February 22, 2015 at 1:03:57 PM UTC+2, Paul Royik wrote: > > OK. > I will explore that. > Thanks. > > On Sunday, February 22, 2015 at 12:55:20 PM UTC+2, Graham Dumpleton wrote: > > I can only offer you a direction of where to look right now. I have some > things I have to deal with over the new few days and so you may not get a > quick response. > > On signals and using SIGALRM in particular, no that cannot be used. > > As far as implementing a simple task execution system, start researching > the examples in: > > https://docs.python.org/2/library/multiprocessing.html#customized-managers > > https://docs.python.org/2/library/multiprocessing.html#using-a-remote-manager > > I believe that functionality from the multiprocessing module could be > used, but I simply don't have the time to be able to explain it right now. > > Graham > > On 22/02/2015, at 9:00 AM, Paul Royik <[email protected]> wrote: > > OK. Let's summarize it. > I have an external function and want to interrupt it in the cleanest and > most natural way. > I'm newbie to all this threading and multiprocessing. > You gave me multiprocessing code and then warned that it might work not > very clean. > > Can you tell me possible way and give all pros and cons, so I can make > some conclusion? > You said something about separate task system? I have no idea how to > implement it. All python solutions seemed to be around multithreading, > signal, multiprocessing. > By the way, will signal solution work with new mod_wsgi? What are pros and > cons? > > import signal > def signal_handler(signum, frame): > raise Exception("Timed out!") > > signal.signal(signal.SIGALRM, signal_handler) > signal.alarm(10) # Ten secondstry: > long_function_call()except Exception, msg: > print "Timed out!" > > > Thank you for your time. > > On Saturday, February 21, 2015 at 10:44:22 PM UTC+2, Paul Royik wrote: > > *Which is part of the reason why I said it isn't a good idea to be forking > worker subprocesses from your web application to do work. When you do that, > the starting memory usage will be whatever the process was that was > handling the web request to begin with. Your algorithm will then add on top > of that.* > > *So if you web application has very fat memory usage, that carries > through.* > > *This is why I was saying that you are better off with a separate task > execution system. Its processes would have very small amount of memory > usage to start with as it doesn't have all your web application memory as > well. The separate task execution system can also control how many parallel > tasks run and so limit overall memory usage.* > > *So, this seems not very good solution. I have only 512 MB. How to > implement separate task system?* > > *Concerning your last question. I use FTP manager like Filezilla and that > time I reuploaded all project (even that wsgi.py wasn't changed).* > > > On Saturday, February 21, 2015 at 10:00:53 PM UTC+2, Graham Dumpleton > wrote: > > On 22/02/2015, at 5:33 AM, Paul Royik <[email protected]> wrote: > > From time to time I've got following error: > [Sat Feb 21 12:24:27.181049 2015] [wsgi:info] [pid 5482:tid > 139829356984064] [remote > > ... -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
