• Celery 运行——Windows 有点坑


    坑1:

    首先,你感觉设置分钟的参数 timedelta ,不太准,这不是不准,这是版本不对。。。

    celery 4.0开始已经不支持 windows平台了 天坑,注意一些模块的 适用平台和版本 !!!

    E:爬虫kgw>celery --version
    4.4.6 (cliffs)
    
    E:爬虫kgw>pip3 uninstall celery
    

    坑2:

    报错”from kombu.async.timer import Entry, Timer as Schedule, to_timestamp, logger”,
    这是因为在 python 3.7 中将 async 作为了关键字,所以当 py 文件中出现
    类似 from . import async, base 这类不符合python语法的语句时,Python会报错;

    解决方法: 在 `celery` 官方的提议下,建议将 kombu下的`async.py` 文件的
    文件名改成 `asynchronous;然后把引用和这个文件的所有文件的里面的async改为asynchronous;`
    我把修改好的文件放在附件中了,解压后,替换到site-packages路径下;
    
    简单的法子就是哪个导入文件报错async,就把文件里的async替换成asynchronous;
    

    其实,如果你在 Windows 平台,Celery 和 Python 解释器 都降低版本就好了

    版本如下:

    windows10
    
    python:3.5
    
    celery: 3.1.25
    

    坑3:

    使用 3.5 的解释器,但是启动 celery 还是用的 3.8 包中的模块导致报错。

    解决:这是因为你多个python解释器,3.8变量在 3.5 的前面,导致找的是3.8的模块

    坑4:

    启动celery报错:AttributeError: str object has no attribute items
    
    问题是:开启worker和beat进程后发现周期性任务没有被执行?
    
    celery4中才引入了beat_schedule这些小写变量,以前都是大写变量。
    即:Version 4.0 introduced new lower case settings and setting organization. 
    具体见[说明]
    http://docs.celeryproject.org/en/latest/userguide/configuration.html#example-configuration-file
    
    
    因此,把变量名改回了大写CELERYBEAT_SCHEDULE。
    
    https://docs.celeryproject.org/en/latest/userguide/configuration.html#example-configuration-file
    
  • 相关阅读:
    JAVA 对象的创建与克隆
    流言粉碎机:JAVA使用 try catch 会严重影响性能
    MYSQL TIMESTAMP自动更新问题
    Innodb之索引与算法
    中缀表达式转后缀表达式并计算结果
    json数组对象和对象数组
    记一个react 使用jQuery 的规则
    docker nginx (13: Permission denied) while reading upstream
    vuecliservice electron:serve Critical dependency: the request of a dependency is an expression
    AntDesign upload 多图可拖拽排序 Demo
  • 原文地址:https://www.cnblogs.com/pythonwl/p/13551883.html
Copyright © 2020-2023  润新知