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