On Sun, Nov 27, 2011 at 11:21 PM, Nathan McCorkle <nmz...@gmail.com> wrote:
> Yeah I've seen the djcelery solution before... I've tried implementing
> it, but I'm getting an error on the celeryd console:
> TypeError: processXLS1() got an unexpected keyword argument 'task_is_eager'

I couldn't find anything on this error via google... but once I
removed the manual transaction stuff (I was trying to speed things up
by doing transactions only after I did a bunch of database operations)
including the decorator above the function, it started working.


>
> when I try running processXLS1.delay(dataObjectID=someInteger) from a
> function in views.py
>
> here's what's in my tasks.py:
> "
> from celery.decorators import task
> from enzymeFilter.models import *
> from django.db import transaction
>
> @task
> def printGene(y):
>        print "ppppppppppppppppppp"
>        fil=open('/var/www/media/testFile','w')
>        fil.write('coming from background')
>        fil.close()
>
>        print Gene.objects.get(id=y+1)
>        return True
>
> @task
> @transaction.commit_manually
> def processXLS1(datasetObjectID):
>        print "processing XLS as task"
>        datasetObject = Dataset.objects.get(id=datasetObjectID)
>        try:
>            ... more processing code
> "
>
> thanks
> -Nathan
>
> On Sun, Nov 27, 2011 at 9:52 PM, Brian Schott <bfsch...@gmail.com> wrote:
>> You really should look at django-celery and RabbitMQ.  The upload submit can 
>> initiate a task that is defined in tasks.py.  There are separate worker 
>> processes that pick up the task from the message queue and do the actual 
>> work.  These workers don't even have to be on the same machine with rabbitMQ 
>> so you get instant scalability.   Then your AJAX job status view can poll a 
>> job status table that is updated by the task and you don't have to worry 
>> about threads.
>> https://github.com/ask/django-celery
>>
>> Brian Schott
>> bfsch...@gmail.com
>>
>>
>>
>> On Nov 27, 2011, at 8:54 PM, Nathan McCorkle wrote:
>>
>>> I'm using Django 1.3 and am processing 3 files into genes, proteins,
>>> and genomes for a tool I built... this processing usually takes
>>> between 5 minutes to a few hours, depending on the genome size.
>>>
>>> After uploading the files (10-100 MB), the upload view begins
>>> processing the files, without returning for a long time (causing my
>>> browser to ask me if I want to kill the plupload script).
>>>
>>> For the user of this app, they don't know if their upload failed or is
>>> processing, etc... so I'd think forking the processing function (or
>>> making it a new thread) is what needs to happen, then the view can
>>> return to the user, and the upload page can start doing AJAX requests
>>> to check to processing progress.
>>>
>>> I feel like I want to do this:
>>> http://www.artfulcode.net/articles/threading-django/
>>> but am scared of crashing because I've heard Django isn't threadsafe
>>> with transactions. (and my processing function is making DB
>>> transactions)
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "Django users" group.
>>> To post to this group, send email to django-users@googlegroups.com.
>>> To unsubscribe from this group, send email to 
>>> django-users+unsubscr...@googlegroups.com.
>>> For more options, visit this group at 
>>> http://groups.google.com/group/django-users?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To post to this group, send email to django-users@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> django-users+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/django-users?hl=en.
>>
>>
>
>
>
> --
> Nathan McCorkle
> Rochester Institute of Technology
> College of Science, Biotechnology/Bioinformatics
>



-- 
Nathan McCorkle
Rochester Institute of Technology
College of Science, Biotechnology/Bioinformatics

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to