Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- proj
- --proj/celery.py
- from __future__ import absolute_import
- import os
- from celery import Celery
- from django.conf import settings
- # set the default Django settings module for the 'celery' program.
- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')
- app = Celery('proj')
- # Using a string here means the worker will not have to
- # pickle the object when using Windows.
- app.config_from_object('django.conf:settings')
- app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
- @app.task(bind=True)
- def debug_task(self):
- print('Request:{0!r}'.format(self.request))
- proj
- ---proj/celery.py
- ---app/tasks.py
- from __future__ import absolute_import
- from celery.decorators import task
- @task()
- def user_send_activation_email(user):
- user.send_activation_email()
- from django.shortcuts import render_to_response, redirect,render
- from django.conf import settings
- from django.http import HttpResponse,HttpResponseRedirect,Http404
- from django.template import RequestContext
- from app.accounts.forms import SignupForm
- from django.contrib.auth import get_user_model
- from app.sns_utils import generate_sha1
- from app.tasks import user_send_activation_email
- def signup(request):
- if request.method=='POST':
- form=SignupForm(data=request.POST)
- if form.is_valid():
- UserModel=get_user_model()
- username = form.cleaned_data['username']
- email = form.cleaned_data['email']
- password = form.cleaned_data['password']
- user=UserModel.objects.create_user(username=username,email=email,password=password)
- user.activation_key = generate_sha1(username)
- user.save()
- user_send_activation_email.delay(user=user)
- return redirect('/')
- BROKER_URL = 'amqp://guest:guest@localhost:5672//'
- CELERY_RESULT_BACKEND = 'amqp://guest:guest@localhost:5672//'
- CELERY_TASK_SERIALIZER = 'json'
- EncodeError at /accounts/signup/
- <MyUser: vmuser630> is not JSON serializable
- Request Method: POST
- Request URL: http://localhost:8000/accounts/signup/
- Django Version: 1.6
- Exception Type: EncodeError
- Exception Value:
- <MyUser: vmuser630> is not JSON serializable
- Exception Location: C:Python33libjsonencoder.py in default, line 173
- Python Executable: C:Python33python.exe
- Python Version: 3.3.2
- CELERY_TASK_SERIALIZER = 'json'
- user.send_activation_email()
- from __future__ import absolute_import
- from celery.decorators import task
- from django.contrib.auth import get_user_model
- @task()
- def user_send_activation_email(user_id):
- user = get_user_model().objects.get(pk=user_id)
- user.send_activation_email()
- user_send_activation_email.delay(user_id=user.pk)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement