为AskBoot设置celery守护程序时,AppRegistryNotReady

时间:2018-07-14 08:02:53

标签: python django celery askbot

我正在尝试为Askbot设置即时电子邮件通知,并且必须设置celery才能使其正常工作。我遵循了指令HERE。设置完celery之后,我尝试运行celery守护程序,这就是错误开始的地方。基本上,我遇到了celery试图工作的某种无限循环。

  • 我设置了celery后,如果运行 python manage.py runserver ,则该网站将在本地运行而不会出现问题,但即时电子邮件功能将无法工作

  • 如果我运行 python manage.py celeryd ,则会显示以下错误代码并无限循环。

错误代码是:

"The translation infrastructure cannot be initialized before the "
     

AppRegistryNotReady:在准备好应用程序注册表之前,无法初始化转换基础结构。检查您在导入时没有进行非惰性的gettext调用。

完整的引用是:


[2018-07-14 00:56:54,359: ERROR/Worker-1] Process Worker-1
Traceback (most recent call last):
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\billiard-3.3.0.23-py2.7-win-amd64.egg\billiard\process.py", line 292, in _bootstrap
    self.run()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\billiard-3.3.0.23-py2.7-win-amd64.egg\billiard\pool.py", line 292, in run
    self.after_fork()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\billiard-3.3.0.23-py2.7-win-amd64.egg\billiard\pool.py", line 395, in after_fork
    self.initializer(*self.initargs)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\concurrency\prefork.py", line 58, in process_initializer
    app.loader.init_worker()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\loaders\base.py", line 128, in init_worker
    self.import_default_modules()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django_celery-3.1.17-py2.7.egg\djcelery\loaders.py", line 140, in import_default_modules
    super(DjangoLoader, self).import_default_modules()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\loaders\base.py", line 121, in import_default_modules

    tuple(maybe_list(self.app.conf.CELERY_INCLUDE))
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\loaders\base.py", line 103, in import_task_module
    return self.import_from_cwd(module)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\loaders\base.py", line 112, in import_from_cwd
    package=package,
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\utils\imports.py", line 101, in import_from_cwd
    return imp(module, package=package)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\celery-3.1.18-py2.7.egg\celery\loaders\base.py", line 106, in import_module
    return importlib.import_module(module, package=package)
  File "D:\Anaconda3\envs\BHTL\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "d:\python_projects\behindthelens\qa\backend\askbot\tasks.py", line 35, in 
    from askbot.conf import settings as askbot_settings
  File "d:\python_projects\behindthelens\qa\backend\askbot\conf\__init__.py", line 7, in 
    import askbot.conf.karma_and_badges_visibility
  File "d:\python_projects\behindthelens\qa\backend\askbot\conf\karma_and_badges_visibility.py", line 13, in 
    super_group=REP_AND_BADGES
  File "d:\python_projects\behindthelens\qa\backend\askbot\deps\livesettings\values.py", line 176, in __init__
    self.super_group.append(self)
  File "d:\python_projects\behindthelens\qa\backend\askbot\deps\livesettings\values.py", line 151, in append
    if group not in self.groups:
  File "d:\python_projects\behindthelens\qa\backend\askbot\deps\livesettings\values.py", line 193, in __eq__
    and self.name == other.name)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\functional.py", line 164, in __eq__
    other = other.__cast()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\functional.py", line 153, in __cast
    return self.__text_cast()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\functional.py", line 141, in __text_cast
    return func(*self.__args, **self.__kw)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\translation\__init__.py", line 84, in ugettext
    return _trans.ugettext(message)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\translation\trans_real.py", line 323, in ugettext
    return do_translate(message, 'ugettext')
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\translation\trans_real.py", line 300, in do_translate
    _default = _default or translation(settings.LANGUAGE_CODE)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\translation\trans_real.py", line 206, in translation
    _translations[language] = DjangoTranslation(language)
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\translation\trans_real.py", line 116, in __init__
    self._add_installed_apps_translations()
  File "D:\Anaconda3\envs\BHTL\lib\site-packages\django\utils\translation\trans_real.py", line 164, in _add_installed_apps_translations
    "The translation infrastructure cannot be initialized before the "
AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time.

我的目标:使askbot即时电子邮件功能正常运行,最好使用芹菜

我已经尝试this post on stackoverflow中的所有内容都无法正常运行

谢谢您的帮助!

0 个答案:

没有答案