我正在尝试使用GAE的延迟扩展来在后端实例中执行任务。它使用开发服务器在本地工作,但当我将我的应用程序部署到Google并测试应用程序时,它失败并出现以下错误:
Permanent failure attempting to execute task
Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 309, in post
self.run_from_request()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 304, in run_from_request
run(self.request.body)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 144, in run
raise PermanentTaskFailure(e)
PermanentTaskFailure: No module named async
异步模块包含要延迟的函数。它与处理请求的模块位于同一目录中。
我在SO上搜索过,其他类似的问题没有一个有帮助的答案。我没有做任何PYTHONPATH操作。我的延迟函数在包含请求处理程序的模块的单独模块(异步)中定义。
可以在https://github.com/lokyst/ffxivcraftopt查看项目来源。 webapi.py包含请求处理程序。 SolverHandler.post在异步模块中调用queueTask,该模块设置任务然后调用延迟。