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)
....

原文地址:https://www.cnblogs.com/dylanchu/p/10229985.html