celery的介绍

celery有三个核心的概念:

  • 任务的发出者(需要发邮件的一方),我们项目的代码就相当于发出者,
  • 中间是一个任务队列(中间人broker),这里我们使用Redis来承担任务队列的作用
  • 任务的处理者(就是帮助发邮件的这就是worker),

逻辑:

  • 首先任务发出者,发出任务之后,不能直接告诉任务的处理者,要先到任务队列,
  • 任务的处理者会监听任务队列,有的话就执行,
  • celery本身是没有提供任务队列的功能的,需要借助一个rabbitMQ数据库,或者Redis,都是可以作为中间人的,这里我们使用Redis来承担任务队列的作用,
  • 这样的设计就不会阻塞了,

安装celery,

  • pip install celery
  • 安装redis:pip install redis  验证redis是否安装成功,在cmd窗口输入python命令之后再输入import redis,如果没有出现模块不存在则表示安装成功。

怎么使用celery?

  • 在项目目录下新建一个包,celery_tasks,新建一个文件,tasks.py,,
  • 我的处理者是在虚拟机的Linux上面,
  • 在这个地方启动任务,还需要把项目代码也放到上面去,
  • 并且需要在虚拟机上也要安装celery,然后才能启动,
  • 1,workon lq_py3(虚拟环境名称)这就是进入虚拟环境工作了,
  • 2,pip freeze,查看虚拟环境下面安装了那些包
  • 3,pip install celery,安装celery
  • 安装django1.11     pip install django==1.11.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
  • 启动命令,在进入项目里面,cd ~/桌面/dailyfresh/
  • 然后执行:celery -A celery_tasks.tasks worker -l info

##################################

报错信息:Error: Unable to load celery application.

第一步:检查redis有没有启动:

sudo redis-server /etc/redis/redis.conf,启动服务,

ps aux | grep redis,查看是否服务启动

redis-cli -h 192.168.100.128,启动客户端,

AUTH ### 设置密码,

现在报了另一个错误了:ImportError: No module named 'django_redis'

第二步:安装

进入虚拟环境,workon lq_py3

pip install django-redis

pip freeze ,查看是否安装了,

安装好了,再次执行:celery -A celery_tasks.tasks worker -l info

报错了:ERROR/MainProcess] consumer: Cannot connect to redis://:**@192.168.80.129:6379/8: Error 111 connecting to 192.168.80.129:6379. Connection refused.

需要修改一下redis的配置,

第三步,修改celery的配置信息,

在task里面,ip错误了,还是因为虚拟机的ip变动的问题,

python-django-celery的安装和配置_20191122的更多相关文章

  1. python Django教程 之 安装、基本命令、视图与网站

    python  Django教程  之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...

  2. python django uwsgi nginx安装

    python django uwsgi nginx安装 已安装完成python/django的情况下安装 pip install uwsgi cd /usr/share/nginx/html/ vim ...

  3. 部署前准备--使用Mysql之Django Debug Toolbar安装以及配置

    python -c "import django ;print(django.__path__);" 查看python的全局配置 vi /usr/local/lib/python3 ...

  4. python-django-fastdfs+Nginx的安装和配置_20191122

    python-django-fastdfs+Nginx的安装和配置 FastDFS文件系统 FastDFS文件系统简介: 是c语言编写的,是淘宝的架构师写的,存储淘宝的图片,后来开源了, fastDF ...

  5. python django整理(五)配置favicon.ico,解决警告Not Found: /favicon.ico(转载)

    版权声明:本文为博主原创文章,欢迎交流分享,未经博主允许不得转载. https://blog.csdn.net/HHTNAN/article/details/78549561 Django 浏览器打开 ...

  6. python Django Nginx+ uWSGI 安装配置

    环境: CentOS7.python-3.5.3.Nignx 1.10.3 .Django 1.10.6.uWSGI 2.0.14 django项目目录:/var/webRoot/p1 项目结构: 基 ...

  7. python+django+wusgi+nginx安装部署

    基于centos搭建nginx+uwsgi运行django环境 环境: CentOS 7 nginx/1.9.12 Python 2.7.5 一:安装依赖包5 yum install zlib-dev ...

  8. windows下python+Django+eclipse开发环境的配置

    1.JDK环境的安装 在http://www.java.com/zh_CN/download/faq/develop.xml 页面下,点击JDK下载,下载所需的jdk版本.直接点击安装即可. 2.py ...

  9. Django之wagtail安装及配置

    安装指引原文地址:Http://docs.wagtail.io/en/v1.13.1 需要注意的几点: 指定端口启动服务:在项目根目录下 ,运行 python manage.py runserver ...

随机推荐

  1. 201771010123汪慧和《面向对象程序设计JAVA》第六周实验总结

    一.理论部分: 1.继承 用已有类来构建新类的一种机制.当定义了一个新类继承了一个类时,这个新类就继承了这个类的方法和域,同时在新类中添加新的方法和域以适应新的情况. 2.类.超类.子类 (1)类继承 ...

  2. MyBatis中foreach传入参数为数组

    一.当只有一个参数,并且这个参数是数组时 接口方法的参数不需要添加@Param注释,collection="array" 示例 接口的方法 void deleteMulti(Str ...

  3. CEO、COO、CFO、CTO、CIO是什么意思/?

    CEO Chief Executive Officer 首席执行官 COO Chief Operating Officer 首席运营官 CFO Chief Financial Officer 首席财务 ...

  4. 提示Asp.net4.5未在web服务器上注册

    在用vs2012代开项目时, 每回都显示Asp.net4.5未在web服务器上注册,最后是由于没有下载一个补丁的原因,只需要下载安装补丁 VS11-KB3002339.exe ,下载地址:https: ...

  5. thinkCMF图片上传选择已上传图片

    1.找到上传图片的模板页面 webuploader.html 在上传文件标签后面 添加 <li class=""><a href="#explorer& ...

  6. 201503-1 图像旋转 Java

    思路: 观察输入和输出可以发现,第三列输出为第一行,第二列输出为第二行,第一列输出为第三行.循环即可 import java.util.Scanner; //得分80,本题最高需要输入100W次,因为 ...

  7. 第二季第八天 HTML5新特性

    在函数内部window.a =  a  在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...

  8. springboot配置多个yml文件

    新接触了springboot项目,yml一大堆,启动不知道用的哪个,各种百度后: <profiles> <profile> <id>dev</id> & ...

  9. CodeForces 990B Micro-World(思维、STL)

    http://codeforces.com/problemset/problem/990/B 题意: 有n个细菌,每个细菌的尺寸为ai,现在有以常数k,如果细菌i的尺寸ai大于细菌j的尺寸aj,并且a ...

  10. gulp自动化添加版本号并修改为参数格式

    问题: 当我们修改js和css文件时往往需要清除浏览器的缓存,否则有些效果就看不到更新过后的. 通过对js,css文件内容进行hash运算,生成一个文件的唯一hash字符串(如果文件修改则hash号会 ...