谷歌应用引擎如何包含要部署到工作人员代码的目录

时间:2016-11-07 14:01:38

标签: python google-app-engine google-cloud-platform

这是我的目录结构:

Worker/
   worker.py
   worker.yaml
SharedCode/
   sharedMoudle1.py
   sharedMoudle2.py
   ...

worker.py中,我想要包含共享文件夹中的代码。显然在我的本地计算机上,它有效,因为我有目录。

如何配置worker.yaml以将SharedCode目录与sharedCode一起部署?

这是我的工作人员yaml

runtime: python27
api_version: 1
threadsafe: true
vm: true
service: worker
env_variables:
  PYTHON_ENV: lab
network:
  instance_tag: testing
  name: olympus-dev

handlers:
- url: /.*
  script: worker.app
  login: admin

p.s不使用sharedCode,工作正常

1 个答案:

答案 0 :(得分:0)

您需要将目录转换为python模块(通过添加__init__.py文件),然后将.yaml文件放在项目根目录中。您的最终目录结构应类似于:

worker.yaml
worker/
   __init__.py
   worker.py

sharedcode/
   __init__.py
   sharedmodule1.py
   sharedmodule2.py

然后在yaml中编辑handlers指令,如下所示:

handlers:
- url: /.*
  script: worker.worker.app
  login: admin

以下是如何从共享模块导入代码的示例:

from sharedcode.sharedmodule.py import *