celery学习

1、安装 django-celery、celery、django-redis等一系列package

2、setting.py设置:

djcelery.setup_loader()
BROKER_URL = ‘redis://127.0.0.1:6379/0‘
CELERY_TIMEZONE=‘Asia/Shanghai‘  #并没有北京时区,与下面TIME_ZONE应该一致
CELERYBEAT_SCHEDULER = ‘djcelery.schedulers.DatabaseScheduler‘

 celery.py设置:

from __future__ import absolute_import

import os
import django
from django.apps import apps, AppConfig

from celery import Celery
from django.conf import settings

os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘backend.settings‘)
django.setup()

app = Celery(‘backend‘)

app.config_from_object(‘django.conf:settings‘)
#app.autodiscover_tasks(lambda: [n.name for n in apps.get_app_configs()])
installed_apps = [app_config.name for app_config in apps.get_app_configs()]
app.autodiscover_tasks(lambda: installed_apps, force=True)

@app.task(bind=True)
def debug_task(self):
    print(‘Request: {0!r}‘.format(self.request))

apps/app/task.py

from __future__ import absolute_import
from django.core.mail import send_mail

from celery import task, shared_task
from backend.settings import DEFAULT_FROM_EMAIL
# 导入redis模
@task
def send_email(vehicleorder):  dosomething

3、运行:

python manage.py runserver

再运行:

python manage.py celery worker --loglevel=info

4、注意点 :

1、virtualbox下ubuntu运行django-web项目,物理机访问虚拟机,需要在命令后面加上虚拟机IP和端口python manage.py runserver 192.168.2.249:8000,同时在setting.py内加上allowed_host 虚拟机IP.

2、makemigrations 需要删除 migrations/文件夹下的文件,删除对应的sql表,还要在database中的migrations表中删除记录,缺一不可

原文地址:https://www.cnblogs.com/kkkboshow/p/9409448.html

时间: 2024-11-02 15:42:14

celery学习的相关文章

celery学习笔记2

1.定义: Celery是一个异步的任务队列(也叫做分布式任务队列) 2.工作结构 Celery分为3个部分 (1)worker部分负责任务的处理,即工作进程(我的理解工作进程就是你写的python代码,当然还包括python调用系统工具功能) (2)broker部分负责任务消息的分发以及任务结果的存储,这部分任务主要由中间数据存储系统完成,比如消息队列服务器RabbitMQ.redis.Amazon SQS.MongoDB.IronMQ等或者关系型数据库,使用关系型数据库依赖sqlalchem

Celery学习---Celery 分布式队列介绍及安装

Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个实例场景中可用的例子: 1. 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果, 在任务执行ing进行时,你可以继续做其它的事情. 2. 你想做一个定时任务,比如每天检测

Celery学习--- Celery在项目中的使用

可以把celery配置成一个应用,注意连接文件命名必须为celery.py 目录格式如下 项目前提: 安装并启动Redis CeleryPro/celery.py   [命名必须为celery.py] # 将相对路径转换为绝对路径 from __future__ import absolute_import, unicode_literals from celery import Celery # 定义了一个Celery的App app = Celery('tasks', # redis://:

Celery学习--- Celery 最佳实践之与django结合实现异步任务

django 可以轻松跟celery结合实现异步任务,只需简单配置即可 同步执行和异步执行 注意:即使Celery的任务没有执行完成,但是已经创建了任务ID.可以利用前台的定时任务发送Ajax异步请求根据ID查询结果 项目整合 项目的目录结构: 项目前提: 安装并启动Redis CeleryTest/settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] MIDDLEWARE = [ ... # 'django.middleware.csrf.

Celery学习--- Celery操作之定时任务

celery支持定时任务,设定好任务的执行时间,celery就会定时自动帮你执行, 这个定时任务模块叫celery beat 文件定时执行任务 项目前提: 安装并启动Redis celery_Schedule.py # version: python3.2.5 # author: 'lft415659' from celery import Celery from celery.schedules import crontab # 可以实现复杂的定时任务 app = Celery('Celery

Celery学习---Celery 与django结合实现计划任务功能

项目的目录结构: 项目前提: 安装并启动Redis 安装Django和Celery的定时任务插件 安装方法一: pip直接安装[安装了pip的前提下] [email protected]:~$ pip3 install django-celery-beat 安装方法二:直接源安装 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django-celery-beat CeleryTest/settings.py INSTALLED_

【转】Python 并行分布式框架 Celery

原文链接:https://blog.csdn.net/freeking101/article/details/74707619 Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html Celery 官方文档中文版:http://docs.jinkan.org/docs/celery/ celery配置:http://docs.jinkan.o

Celery 基本使用

1. 认识 Celery Celery 是一个 基于 Python 开发的分布式异步消息任务队列,可以实现任务异步处理,制定定时任务等. 异步消息队列:执行异步任务时,会返回一个任务 ID 给你,过一段时间后拿着任务 ID 去取执行结果 定时任务:类似于 Windows / Linux 上的定时任务,到点执行任务 Celery 在执行任务时需要通过一个消息中间件来接收和发送任务消息,以及存储任务结果, 一般使用 rabbitMQ 或 Redis(默认采用 RabbitMQ) 优点: 简单易用 高

2018年老男孩最新全栈python第8期全套视频教程(6个月)陆续更新完!

2018年老男孩最新全栈python第8期视频教程(6个月)陆续更新完! 1.png (78.13 KB, 下载次数: 0) 下载附件 半小时前 上传 视频日期:   老男孩教育Python高级全栈开发工程师 课程内容: 第一阶段: linux基础以及常用服务学习(2周) 计算机组成原理 linux前世今生 linux介绍以及特点 Unix的历史介绍 自由软件以及基金会 GUN.GPL核心 linux的三大企业应用领域介绍 linux的各种开发性版本以及区别 linux的环境搭建 CentOs安