@@ -25,6 +25,8 @@ pub struct Redis {
2525 #[ serde( default = "default_redis_port" ) ]
2626 pub port : u16 ,
2727 pub credentials_secret : String ,
28+ #[ serde( default = "default_redis_db" ) ]
29+ pub database_id : u16 ,
2830}
2931
3032#[ derive( Clone , Debug , Deserialize , JsonSchema , PartialEq , Serialize ) ]
@@ -45,9 +47,10 @@ impl QueueType {
4547impl Redis {
4648 pub fn connection_string ( & self , username_env : & str , password_env : & str ) -> String {
4749 format ! (
48- "redis://${username_env}:${password_env}@{host}:{port}/0 " ,
50+ "redis://${username_env}:${password_env}@{host}:{port}/{id} " ,
4951 host = self . host,
50- port = self . port
52+ port = self . port,
53+ id = self . database_id,
5154 )
5255 }
5356}
@@ -56,16 +59,21 @@ fn default_redis_port() -> u16 {
5659 6379
5760}
5861
62+ fn default_redis_db ( ) -> u16 {
63+ 0
64+ }
65+
5966#[ cfg( test) ]
6067mod tests {
61- use crate :: connections:: queue:: { Redis , default_redis_port} ;
68+ use crate :: connections:: queue:: { Redis , default_redis_db , default_redis_port} ;
6269
6370 #[ test]
6471 fn test_redis_queue ( ) {
6572 let queue_type = Redis {
6673 host : "airflow-postgresql" . to_string ( ) ,
6774 credentials_secret : "airflow-credentials" . to_string ( ) ,
6875 port : default_redis_port ( ) ,
76+ database_id : default_redis_db ( ) ,
6977 } ;
7078 let connection_string = queue_type. connection_string ( "QUEUE_USERNAME" , "QUEUE_PASSWORD" ) ;
7179
0 commit comments