django中使用celery及gevent

本文介绍了如何在Django项目中使用Celery进行分布式异步任务处理,包括设置定时任务,解决Redis版本问题。同时,文章还探讨了Gevent如何通过greenlet实现协程,提升程序并发性能。提供了在Django中使用Celery和Gevent的实例代码和运行效果。
摘要由CSDN通过智能技术生成

Celery在Django中的使用

celery是分布式异步任务队列,通过在Django中集成celery任务,可实现工作流的定制、异步执行I/O工作量大的任务、定时任务。下面的例子,给出了定时任务的实现过程。源码:https://github.com/qicheng20171017/poll/tree/master/mysite
1、创建一个django项目(网站):

django-admin startproject mysite

在mysite下创建poll应用

python manage.py startapp polls

2、创建后mysite的目录结构如下:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    polls/
        __init__.py
        apps.py
        admin.py
        migrations/
        models.py
        tests.py
        views.py

3、修改mysite/mysite/settings.py中增加celery配置:

import djcelery
djcelery.setup_loader()

BROKER_URL="redis://127.0.0.1:6379/0"
CELERY_RESULT_BACKEND=BROKER_URL
CELERY_ACCEPT_CONTENT=['json']
CELERY_TASK_SERIALIZER='json'
CELERY_RESULT_SERIALIZER='json'
CELERYBEAT_SCHEDULER='djcelery.schedulers.DatabaseScheduler'
CELERY_TIMEZONE='Asia/Shanghai'

4、在mysite/mysite/下新增celery.py:

from __future__ import absolute_import

import os
from celery import Celery
from django.conf import settings

os.environ.setdefault('DJA
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值