最近自己写了个爬虫,准备集成在网站项目中,但是问题是如何触发这个爬虫,肯定要用到定时和异步
所以,看了一些介绍后,决定学一下celery.
但是在安装过程中踩了个坑,记录一下
1: 首先是安装celery,这个不多说了
pip install celery
当然你也可以一起安装依赖pip install -U "celery[redis]"
这时候,我以为环境已经搭建好了,完全可以使用了.
可完全不是这么回事.
2: 写一个celery测试程序
from celery import Celery
app = Celery('tasks',broker='redis://localhost:6379/0')
@app.task
def add(x,y):
return x+y
然后根据教程,运行命令celery -A test worker --loglevel=info
结果得到了以下报警ERROR10061
看上去无法连接redis?
我也尝试输入了redis-server和redis-cli,结果都是没有这个命令
在上网搜索了一大堆资料以后,发现是安装redis的问题.
3: 真正安装redis
redis在官网上是没有windows的下载地方的.....只有linux的
再搜索了一下在github上找到了windows版本的下载方式,并下载了zip压缩包
https://github.com/microsoftarchive/redis/releases
解压出来以后,我放在了C:\Redis
下面
然后,你在terminal下输入redis-server.exe redis.windows.conf
就会出现以下信息,表示redis启用成功了.
如果你不想每次都输入那么长的命令行,就干脆把redis所在的目录,添加到环境变量PATH里面去
修改环境变量之后,你就可以在命令行直接使用redis-server来进行启动了。
4: 继续测试
再次测试,启动redis后,celery工作成功了.
链接成功然后启动测试例子里的add的delay方法
测试
就返回了一个AsyncResult
对象.
参考资料:
http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html
http://www.runoob.com/redis/redis-install.html
https://www.jianshu.com/p/e16d23e358c0
网友评论