PermanentTaskFailure в отложенной библиотеке AppEngine - PullRequest
3 голосов
/ 23 марта 2010

Я использую App Engine и отложенную библиотеку. Но время от времени моя задача терпела неудачу со следующей ошибкой:

Permanent failure attempting to execute task
Traceback (most recent call last):
  File "/base/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", 
    line 256, in post
      run(self.request.body)
  File "/base/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", 
    line 122, in run
      raise PermanentTaskFailure(e)
PermanentTaskFailure: Environment variable DJANGO_SETTINGS_MODULE is undefined.

Я нашел сообщение , в котором говорится, что решение:

from google.appengine.ext.webapp import template 

Но я не использую каркас веб-приложения, я использую Django. Что я могу попробовать?

1 Ответ

4 голосов
/ 24 марта 2010

Ошибки, подобные этой, обычно возникают, когда ваша задача зависит от каких-либо манипуляций с путями в Python или других jiggery-pokery, которые не выполняются, когда первый запрос к среде выполнения выполняется через отложенный метод. Вы должны убедиться, что все ваши точки входа - например, модуль, содержащий функцию, которую вы откладываете - импортируют модуль, который выполняет соответствующие манипуляции с путями.

В качестве альтернативы, вы можете написать свой собственный обработчик отложенных задач, который, будучи частью вашей платформы, уже будет иметь соответствующие исправления. Для этого просто зарегистрируйте обработчик и вызовите deferred.run (), передав полный текст запроса.

...