Django=3.2
python=3.77
celery=5.27
redis=5.4.0
在task中创建爬虫任务,在View函数中启动任务,和
celery -A you_appname worker -l info -P gevent,任务取消,线程无法停止
celery -A you_appname worker -l info -P prefork,线程报错,Task handler raised error: ValueError: not enough values to unpack
最后解决:
cryptography==38.0.4,版本太高报错,启动不了eventlet,降低版本,成功停止,
celery -A you_appname worker -l info -P eventlet,
首先先配置celery,写celery配置文件,或在setting中配置
task.py
爬虫循环内,如果缓存删除就退出循环,停止任务:
开始爬虫启动异步任务,start开始方法:
view:停止爬虫,关闭异步任务stop方法: