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. UML-GoF设计模式-总结

    1.GRASP 2.设计模式

  2. UML-设计对象时涉及的制品有哪些?

    1.SSD.系统操作.交互图--->用例实现 1).通信图 2).顺序图 将SSD中的系统操作作为领域层控制器对象的起始消息.这是关键. 2.用例--->用例实现 在整个开发过程中,业务人 ...

  3. TensorFlow(一)

    一.Hello World 1.只安装CPU版,TensorFlow1.14.0版本代码 # import tensorflow as tf import tensorflow.compat.v1 a ...

  4. PCB布局注意事项

    PCB布局注意事项   1.实现统一功能电路模块中的元件应采用就近集中原则,同时数字电路和模拟电路分开; 2.定位孔.标准孔等非安装孔周围1.27mm 内不得贴装元.器件,螺钉等安装孔周围3.5mm( ...

  5. 洛谷 P1032 字串变换(map)

    题目传送门 解题思路: 搜索题,因为要求最少次数,用bfs. AC代码: #include<cstdio> #include<iostream> #include<cst ...

  6. C语言-数组的深入学习

    深入学习一下数组1.从内存角度来讲:数组变量就是一次分配多个变量,而且这些变量的地址是连续的,也就是存放这些变量的存储单元是依次相连接的.而且这多个变量必须单独访问,不可以一起访问的.因为他们的地址彼 ...

  7. Python说文解字_继承过程中的参数集合

    1. 先看一段属性继承的代码: class User: def __init__(self,name,age): self.name = name self.age = age class User1 ...

  8. 刷题33. Search in Rotated Sorted Array

    一.题目说明 这个题目是33. Search in Rotated Sorted Array,说的是在一个"扭转"的有序列表中,查找一个元素,时间复杂度O(logn). 二.我的解 ...

  9. dockerfile保留字指令

    FROM 基础镜像,当前新镜像是基于哪个镜像的 MAINTAINER 镜像维护者的姓名和邮箱地址 RUN 容器构建时运行的命令 EXPOSE 当前容器对外暴露的端口 WORKDIR 指定在创建容器后, ...

  10. 即时函数(Immediate Functions)

    1.即时函数的声明方法 即时函数(Immediate Functions)是一种特殊的JavaScript语法,可以使函数在定义后立即执行: (function () {     alert('wat ...