diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-04-30 21:53:39 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-04-30 21:53:39 -0500 |
commit | 1c61a6ca3b477b8eadbfc32d3c7f34f8e3531f14 (patch) | |
tree | a46bf7fd524df4bcbaa1ebbeaec05cfb7f3ab548 | |
parent | 694c235106c66ff30e52fda69f6ae229f36943b5 (diff) | |
download | mediagoblin-1c61a6ca3b477b8eadbfc32d3c7f34f8e3531f14.tar.lz mediagoblin-1c61a6ca3b477b8eadbfc32d3c7f34f8e3531f14.tar.xz mediagoblin-1c61a6ca3b477b8eadbfc32d3c7f34f8e3531f14.zip |
A few more corrections to make setup_celery_from_config() work right
-rw-r--r-- | mediagoblin/celery_setup/__init__.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/mediagoblin/celery_setup/__init__.py b/mediagoblin/celery_setup/__init__.py index 02b451f0..143f9170 100644 --- a/mediagoblin/celery_setup/__init__.py +++ b/mediagoblin/celery_setup/__init__.py @@ -99,35 +99,41 @@ def setup_celery_from_config(app_config, global_config, celery_settings = {} # set up mongodb stuff + celery_settings['CELERY_RESULT_BACKEND'] = 'mongodb' + if not celery_settings.has_key('BROKER_BACKEND'): + celery_settings['BROKER_BACKEND'] = 'mongodb' + celery_mongo_settings = {} + if app_config.has_key('db_host'): celery_mongo_settings['host'] = app_config['db_host'] - celery_settings['BROKER_HOST'] = app_config['db_host'] + if celery_settings['BROKER_BACKEND'] == 'mongodb': + celery_settings['BROKER_HOST'] = app_config['db_host'] if app_config.has_key('db_port'): celery_mongo_settings['port'] = asint(app_config['db_port']) - celery_settings['BROKER_PORT'] = asint(app_config['db_port']) + if celery_settings['BROKER_BACKEND'] == 'mongodb': + celery_settings['BROKER_PORT'] = asint(app_config['db_port']) celery_mongo_settings['database'] = app_config.get('db_name', 'mediagoblin') celery_settings['CELERY_MONGODB_BACKEND_SETTINGS'] = celery_mongo_settings - celery_settings['CELERY_RESULT_BACKEND'] = 'mongodb' # Add anything else for key, value in celery_conf.iteritems(): key = key.upper() if key in KNOWN_CONFIG_BOOLS: value = asbool(value) - elif value in KNOWN_CONFIG_INTS: + elif key in KNOWN_CONFIG_INTS: value = asint(value) - elif value in KNOWN_CONFIG_FLOATS: + elif key in KNOWN_CONFIG_FLOATS: value = asfloat(value) - elif value in KNOWN_CONFIG_LISTS: + elif key in KNOWN_CONFIG_LISTS: value = aslist(value) celery_settings[key] = value __import__(settings_module) this_module = sys.modules[settings_module] - for key, value in celery_settings.iteritems(): + for key, value in celery_settings.items(): setattr(this_module, key, value) if set_environ: |