小编典典

在Google App Engine服务之间进行通信

python

我的项目结构如下

.
├── app
│   ├── api
│   ├── models
│   ├── services
│   │   └── lib
|   |   |__ worker.yaml
|   |   |__ worker.py
|   |_ main.py
|_ app.yaml

我试图像这样modelsapp模块(即默认模块)导入worker.py

from app.models import db

但事实证明No module named app.models。但是我可以在内部实现相同的功能main.py。请注意,我正在同时运行app.yamlworker.yaml文件。


阅读 202

收藏
2021-01-20

共1个答案

小编典典

部署后,GAE服务/模块不会在其模块目录(文件所在的目录)之外共享 任何内容.yaml

因此worker.py,在servicesdir(worker.yaml存在的地方)上方看不到任何东西,因此看不到models。但是main.py可以,因为模型位于其app目录(app.yaml存在)中。

如果需要,可以models在内部进行符号链接services

2021-01-20