美文网首页
celery中密码带有特殊字符

celery中密码带有特殊字符

作者: MrSunday_8955 | 来源:发表于2019-07-12 17:54 被阅读0次

填写broker_url时认证密码中可能含有(*,?, /,$)等特殊字符,启动celery任务时会报错,例如:

# 连接redis的认证密码为:my/pass$word?1234
# celery -A mytasks worker --loglevel=info
......
ValueError: invalid literal for int() with base 10: 'my'

此问题的解决方法是把这个密码encode编码处理下。这里使用urllib库,处理的代码如下:

from urllib import quote_plus
PASSWORD=quote_plus('my/pass$word?1234')
broker_url = 'redis://:{}@myhostname:port'.format(PASSWORD)

相关文章

网友评论

      本文标题:celery中密码带有特殊字符

      本文链接:https://www.haomeiwen.com/subject/vntykctx.html