zoukankan      html  css  js  c++  java
  • 使用Celery遇到的坑

    通过Celery操作云通讯,发送短信验证码报错{'172001':'网络错误'}针对Windows系统,Mac系统不晓得

    1、检查是否取消全局证书验证
    import ssl
    # 全局取消证书验证
    ssl._create_default_https_context = ssl._create_unverified_context
    
    2、检查相关的配置参数是否有错误。
    比如端口,请求地址,主账号,APPID,API版本等是否配置正确,有一个出问题就会报{'172001':'网络错误'}
    
    3、检查参数传递是否正常,
    比如手机号、验证码,核心代码是否能接受到对应的值,会提示发送失败
    
    4、解释器版本问题【最重要的一点】。
    Python解释器版本的问题,celery的版本不兼容Python3.7以上的版本;
    3.6及以下的版本可以正常使用,如果使用的是Python3.7以上的版本并且配置参数等都没有问题就会出现{'172001':'网络错误'}问题;
    降低Python解释器版本3.6及以下就不会出现此问题,celery任何版本都可以正常使用。
    
    额外补充:

    celery无法在Windows10 #4081 下运行任务

    [2018-01-12 19:08:15,545: INFO/MainProcess] Received task: tasks.add[5d387722-5389-441b-9b01-a619b93b4702]
    [2018-01-12 19:08:15,550: ERROR/MainProcess] Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)',)
    Traceback (most recent call last):
      File "d:programmingsoftwarepython35libsite-packagesilliardpool.py", line 358, in workloop
        result = (True, prepare_result(fun(*args, **kwargs)))
      File "d:programmingsoftwarepython35libsite-packagesceleryapp	race.py", line 525, in _fast_trace_task
        tasks, accept, hostname = _loc
    ValueError: not enough values to unpack (expected 3, got 0)
    

    解决方式:
    使用事件池实现(“ -P eventlet”命令行选项)来解决此问题

    pip install eventlet
    
    celery -A <mymodule> worker -l info -P eventlet
    
  • 相关阅读:
    Android 表格布局
    Python 字符串操作分类
    设置Safari禁止访问某个网站
    java判断路径是文件夹还是文件
    java上下分页窗口流动布局
    Python获取网页html代码
    一次失败的java Box居中尝试
    装饰器进阶和迭代器
    函数对象补充,包函数与装饰器
    函数对象和名称空间
  • 原文地址:https://www.cnblogs.com/remixnameless/p/13034940.html
Copyright © 2011-2022 走看看