소스 검색

Fixes bug with detect_settings

Ask Solem 9 년 전
부모
커밋
914453d3de
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      celery/app/utils.py

+ 4 - 2
celery/app/utils.py

@@ -181,15 +181,17 @@ def detect_settings(conf, preconf={}, ignore_keys=set(), prefix=None,
     is_in_new = have.intersection(all_keys)
     is_in_old = have.intersection(old_keys)
 
+    info = None
     if is_in_new:
         # have new setting names
         info, left = _settings_info, is_in_old
         if is_in_old and len(is_in_old) > len(is_in_new):
             # Majority of the settings are old.
             info, left = _old_settings_info, is_in_new
-    elif is_in_old:
+    if is_in_old:
         # have old setting names, or a majority of the names are old.
-        info, left = _old_settings_info, is_in_new
+        if not info:
+            info, left = _old_settings_info, is_in_new
         if is_in_new and len(is_in_new) > len(is_in_old):
             # Majority of the settings are new
             info, left = _settings_info, is_in_old