Python celery和Redis入门安装使用(排难帖)

时间:2023-12-31 23:37:02

1、redis安装

下载地址 https://github.com/MicrosoftArchive/redis/releases,选择Redis-x64-3.2.100.msi5.8 MB下载就好了

参考http://www.cnblogs.com/jaign/articles/7920588.html,图文并茂,很详细了。不过密码设置那里可以不用。

不然可能会导致celery连接异常: consumer canot connect to redis

1、要安装Redis,首先要获取安装包。Windows的Redis安装包需要到以下GitHub链接找到。链接:https://github.com/MSOpenTech/redis。打开网站后,找到Release,点击前往下载页面。

Python  celery和Redis入门安装使用(排难帖)

2、在下载网页中,找到最后发行的版本(此处是3.2.100)。找到Redis-x64-3.2.100.msi和Redis-x64-3.2.100.zip,点击下载。这里说明一下,第一个是msi微软格式的安装包,第二个是压缩包。

Python  celery和Redis入门安装使用(排难帖)

3、双击刚下载好的msi格式的安装包(Redis-x64-3.2.100.msi)开始安装。

Python  celery和Redis入门安装使用(排难帖)

4、选择“同意协议”,点击下一步继续。

Python  celery和Redis入门安装使用(排难帖)

5、选择“添加Redis目录到环境变量PATH中”,这样方便系统自动识别Redis执行文件在哪里。

Python  celery和Redis入门安装使用(排难帖)

6、端口号可保持默认的6379,并选择防火墙例外,从而保证外部可以正常访问Redis服务。

Python  celery和Redis入门安装使用(排难帖)

7、设定最大值为100M。作为实验和学习,100M足够了。

Python  celery和Redis入门安装使用(排难帖)

8、点击安装后,正式的安装过程开始。稍等一会即可完成。

11、点击“开始”>右击“计算机”>选择“管理”。在左侧栏中依次找到并点击“计算机管理(本地)”>服务和应用程序>服务。再在右侧找到Redis名称的服务,查看启动情况。如未启动,则手动启动之。正常情况下,服务应该正常启动并运行了。

Python  celery和Redis入门安装使用(排难帖)

12、最后来测试一下Redis是否正常提供服务。进入Redis的目录,cd C:\Program Files\Redis。输入redis-cli并回车。(redis-cli是客户端程序)如图正常提示进入,并显示正确端口号,则表示服务已经启动。

 Python  celery和Redis入门安装使用(排难帖)
13、使用服务前需要先通过密码验证。输入“auth 12345”并回车(12345是之前设定的密码)。返回提示OK表示验证通过。
Python  celery和Redis入门安装使用(排难帖)
14、实际测试一下读写。输入set mykey1 "I love you all!”并回车,用来保存一个键值。再输入get mykey1,获取刚才保存的键值。
Python  celery和Redis入门安装使用(排难帖)
15、注意事项
  • 1.Windows使用的这个Redis是64位版本的,32位操作系统的同学就不要折腾了。
  • 2.作为服务运行的Redis配置文件,通常为redis.windows-service.conf,而不是redis.windows.conf。小心不要选错了。

2、celery安装

开始的时候直接pip安装最新版本,但是出现异常 OSError: [WinError 87] 参数错误

解决方法

安装版本

pip uninstall Celery
pip install Celery == 3.1

3、redis版本

pip install redis==2.10.6

建议各位python2.7的按以上版本安装,不要最新的。不然会出现以下错误 Celery: Unrecoverable error: AttributeError 的unicode编码错误

(应该是celery和redis的最新版本支持python3,Python2.7的安装了会报Unicode的编码问题)

排除了以上的几个问题之后,首先创建了一个简单的tasks任务:

文件名 tasks.py

# coding: utf-8

from celery import Celery
broker = 'redis://127.0.0.1:6379/0'
backend = 'redis://127.0.0.1:6379/0' app = Celery('tasks', broker=broker, backend=backend) @app.task
def add(x, y):
return x + y

以下就是成功的界面了。

Python  celery和Redis入门安装使用(排难帖)

参考资料

http://docs.jinkan.org/docs/celery/index.html

http://www.guodongkeji.com/newsshow-24-2135-1.html