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
    
  • 相关阅读:
    递归
    HDU_oj_2041 超级楼梯
    树与森林——树与森林的遍历
    HUD_oj_2040 亲和数
    HDU_oj_2039 判定三角形
    HDU_oj_2037 今年暑假不AC
    多边形面积
    HDU_oj_2036 改革春风吹满地(多边形面积)
    【转发】【composer】composer 命令行介绍
    【chm】【windows】win7下chm打开不显示内容
  • 原文地址:https://www.cnblogs.com/remixnameless/p/13034940.html
Copyright © 2011-2022 走看看