44from django .conf import settings
55from django .core .exceptions import ImproperlyConfigured
66
7- from scheduler .settings_types import SchedulerConfig , Broker , QueueConfiguration
7+ from scheduler .settings_types import SchedulerConfiguration , Broker , QueueConfiguration
88
99logger = logging .getLogger ("scheduler" )
1010logging .basicConfig (level = logging .DEBUG )
1111
1212_QUEUES : Dict [str , QueueConfiguration ] = dict ()
13- SCHEDULER_CONFIG : SchedulerConfig = SchedulerConfig ()
13+ SCHEDULER_CONFIG : SchedulerConfiguration = SchedulerConfiguration ()
1414
1515
1616class QueueNotFoundError (Exception ):
@@ -35,14 +35,15 @@ def conf_settings():
3535 _QUEUES [queue_name ] = QueueConfiguration (** queue_config )
3636
3737 user_settings = getattr (settings , "SCHEDULER_CONFIG" , {})
38- if "FAKEREDIS" in user_settings :
39- logger .warning ("Configuration using FAKEREDIS is deprecated. Use BROKER='fakeredis' instead" )
40- user_settings ["BROKER" ] = Broker .FAKEREDIS if user_settings ["FAKEREDIS" ] else Broker .REDIS
41- user_settings .pop ("FAKEREDIS" )
42- for k in user_settings :
43- if k not in SCHEDULER_CONFIG .__annotations__ :
44- raise ImproperlyConfigured (f"Unknown setting { k } in SCHEDULER_CONFIG" )
45- setattr (SCHEDULER_CONFIG , k , user_settings [k ])
38+ if isinstance (user_settings , dict ):
39+ if "FAKEREDIS" in user_settings :
40+ logger .warning ("Configuration using FAKEREDIS is deprecated. Use BROKER='fakeredis' instead" )
41+ user_settings ["BROKER" ] = Broker .FAKEREDIS if user_settings ["FAKEREDIS" ] else Broker .REDIS
42+ user_settings .pop ("FAKEREDIS" )
43+ for k in user_settings :
44+ if k not in SCHEDULER_CONFIG .__annotations__ :
45+ raise ImproperlyConfigured (f"Unknown setting { k } in SCHEDULER_CONFIG" )
46+ setattr (SCHEDULER_CONFIG , k , user_settings [k ])
4647
4748
4849conf_settings ()
0 commit comments