Advertisement
Guest User

Untitled

a guest
Dec 30th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. proj
  2. --proj/celery.py
  3.  
  4. from __future__ import absolute_import
  5.  
  6. import os
  7.  
  8. from celery import Celery
  9.  
  10. from django.conf import settings
  11.  
  12. # set the default Django settings module for the 'celery' program.
  13. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')
  14.  
  15. app = Celery('proj')
  16.  
  17. # Using a string here means the worker will not have to
  18. # pickle the object when using Windows.
  19. app.config_from_object('django.conf:settings')
  20. app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
  21.  
  22. @app.task(bind=True)
  23. def debug_task(self):
  24. print('Request:{0!r}'.format(self.request))
  25.  
  26. proj
  27. ---proj/celery.py
  28. ---app/tasks.py
  29.  
  30. from __future__ import absolute_import
  31.  
  32. from celery.decorators import task
  33.  
  34. @task()
  35. def user_send_activation_email(user):
  36. user.send_activation_email()
  37.  
  38. from django.shortcuts import render_to_response, redirect,render
  39. from django.conf import settings
  40. from django.http import HttpResponse,HttpResponseRedirect,Http404
  41. from django.template import RequestContext
  42. from app.accounts.forms import SignupForm
  43. from django.contrib.auth import get_user_model
  44. from app.sns_utils import generate_sha1
  45. from app.tasks import user_send_activation_email
  46.  
  47. def signup(request):
  48. if request.method=='POST':
  49. form=SignupForm(data=request.POST)
  50. if form.is_valid():
  51. UserModel=get_user_model()
  52. username = form.cleaned_data['username']
  53. email = form.cleaned_data['email']
  54. password = form.cleaned_data['password']
  55. user=UserModel.objects.create_user(username=username,email=email,password=password)
  56. user.activation_key = generate_sha1(username)
  57. user.save()
  58. user_send_activation_email.delay(user=user)
  59.  
  60.  
  61. return redirect('/')
  62.  
  63. BROKER_URL = 'amqp://guest:guest@localhost:5672//'
  64.  
  65. CELERY_RESULT_BACKEND = 'amqp://guest:guest@localhost:5672//'
  66.  
  67. CELERY_TASK_SERIALIZER = 'json'
  68.  
  69. EncodeError at /accounts/signup/
  70. <MyUser: vmuser630> is not JSON serializable
  71. Request Method: POST
  72. Request URL: http://localhost:8000/accounts/signup/
  73. Django Version: 1.6
  74. Exception Type: EncodeError
  75. Exception Value:
  76. <MyUser: vmuser630> is not JSON serializable
  77. Exception Location: C:Python33libjsonencoder.py in default, line 173
  78. Python Executable: C:Python33python.exe
  79. Python Version: 3.3.2
  80.  
  81. CELERY_TASK_SERIALIZER = 'json'
  82.  
  83. user.send_activation_email()
  84.  
  85. from __future__ import absolute_import
  86.  
  87. from celery.decorators import task
  88. from django.contrib.auth import get_user_model
  89.  
  90. @task()
  91. def user_send_activation_email(user_id):
  92. user = get_user_model().objects.get(pk=user_id)
  93. user.send_activation_email()
  94.  
  95. user_send_activation_email.delay(user_id=user.pk)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement