I don't use database, but use settings and it keeps telling me, that settings and logging are not initialized.
On Friday, February 27, 2015 at 1:19:04 AM UTC+2, Paul Royik wrote: > > Algorithm doesn't hit database. > > > On Friday, February 27, 2015 at 1:11:05 AM UTC+2, Graham Dumpleton wrote: > > Are you saying that your algorithm actually dives down and uses Django > database ORM to get data from database? > > That is, it isn't a standalone bit of code which can be given its own > inputs and returns the result, totally independent of your web application > and whatever database it is using? > > That would only be required if the algorithm is wanting to access that > data setup by Django directly. > > Ideally you may the service and the algorithm usable independent of your > web application. > > Graham > > On 27/02/2015, at 10:07 AM, Paul Royik <[email protected]> wrote: > > I need to use django setup because of the error described here: > http://stackoverflow.com/questions/25537905/django-1-7-throws-django-core-exceptions-appregistrynotready-models-arent-load > > Can you clarify where code should lie? Do I need to separate timeout and > MyManager? > > On Friday, February 27, 2015 at 1:03:19 AM UTC+2, Graham Dumpleton wrote: > > > On 27/02/2015, at 9:51 AM, Paul Royik <[email protected]> wrote: > > I did it directly on Webfaction. > Created webapps/django_math/mathsite/mathsite/task-queue-manager.py with > exact code you've supplied. > > > It can't be exactly the same as you have moved where MathClass is defined, > plus the location of the UNIX socket will now no longer match. > > Try something like: > > import os > > from mathsite.utils import MyManager > > # This shouldn't be hardwired, but just to get it working. > > sockpath = '/home/simamura/webapps/django_math/task-queue-manager.sock' > > try: > os.unlink(sockpath) > except OSError: > pass > > m = MyManager(address=sockpath, authkey='abracadabra') > s = m.get_server() > s.serve_forever() > > Then inside webapps/django_math/mathsite/mathsite/utils.py along with > timeout decorator, I created following: > > class RunableProcessing(multiprocessing.Process): > def __init__(self, func, *args, **kwargs): > self.queue = multiprocessing.Manager().Queue(maxsize=1) > args = (func,) + args > multiprocessing.Process.__init__(self, target=self.run_func, > args=args, kwargs=kwargs) > > def run_func(self, func, *args, **kwargs): > try: > result = func(*args, **kwargs) > self.queue.put((True, result)) > except Exception as e: > self.queue.put((False, e)) > > def done(self): > return self.queue.full() > > def result(self): > return self.queue.get() > > import django > django.setup() > > > Why is it you need to be importing and setting up Django. > > One of the aims of separating this out as a service would be so that not > web application code is imported or used. This way it can be very > lightweight. You are adding to memory issues again by importing Django and > initialising it in this service process. > > def tim > > ... -- 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.
