celery中配置redis密码时的ValueError: invalid literal for int() with base 10: 'xxxx'


原配置:

 celery_broker = 'redis://:xxxx#xxxx@172.17.0.1:6379/0'  # docker0                                                                             

错误原因:
密码中不能有 # ? 等特殊字符 (无语O__O "…)

https://blog.csdn.net/liushaochan123/article/details/8885116


对特殊字符,博客 “解决celery中用户密码带有特殊字符的问题”(https://knktc.com/2017/11/13/celery-python-bad-password/)中提到可以使用quote解决,
在下对此没有验证,只在这里做个记录:

from celery import Celery
from urllib.parse import quote  # python3
PASSWORD = quote('mypass?1234')
RMQ_URL = 'amqp://admin:{}@test.knktc.com//'.format(PASSWORD)
....


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM