38def initialize():
39 global _CLIENT
40 if get_setting('redis.url'):
41 warnings.warn("setting redis.url is deprecated, use valkey.url", DeprecationWarning)
42 valkey_url = get_setting('valkey.url') or get_setting('redis.url')
43 if not valkey_url:
44 return False
45 try:
46
47 _CLIENT = valkey.Valkey.from_url(valkey_url)
48
49
50 kwargs = _CLIENT.get_connection_kwargs().copy()
51 kwargs.pop('password', None)
52 kwargs = ' '.join([f'{k}={v!r}' for k, v in kwargs.items()])
53 logger.info("connecting to Valkey %s", kwargs)
54
55
56 _CLIENT.ping()
57
58
59 logger.info("connected to Valkey")
60 return True
61 except valkey.exceptions.ValkeyError:
62 _CLIENT = None
63 _pw = pwd.getpwuid(os.getuid())
64 logger.exception("[%s (%s)] can't connect valkey DB ...", _pw.pw_name, _pw.pw_uid)
65 return False