假设您同时安装了Python的celery和django-
celery,请
tasks.py在您的应用程序下创建以下文件:
utils / tasks.py
from celery import task# other imports@task()def create_user(data): user = User.objects.create_user( username=data['username'], email=None, password=data['password'] ) user.save() profile = UserProfile() profile.user = user profile.token = generate_token() profile.save() return None
utils/utilities.py在上面的示例中删除文件。
在您的代码中
views.py更改
create_user来自以下位置的调用:
create_user(form.cleaned_data)
至:
create_user.delay(form.cleaned_data)
create_user现在基本上是芹菜任务;如果您安装了正确的Python软件包(如上所述),那么就按照代码(您所要求的实现)进行安装即可。
delay异步执行您的函数-
即返回HTTP响应,而无需等待异步任务完成。
在本地,您可以使用来运行celery守护进程
python manage.py celeryd。
在生产中,你必须设置使用例如芹菜过程本身
upstart,
supervisor或任何其他工具来控制这种流程的生命周期。
此处记录了更多详细信息。



