2017-02-26 97 views
0

我不認爲我的gae python應用程序具有靈活的環境,因爲我多年前創建了它。現在我想嘗試創建一個包含另一個運行時而不是python的模塊,並使python應用程序與新的運行時一起運行python,自定義或另一個。也許混合PHP和Python或類似的。我不需要它,但我想學習和探索可能性。我也對學習Erlang和用appengine部署Erlang代碼感興趣。我看到有問題,它已經非靈活環境應用程序的自定義運行時?

erlang on google app engine?

而且issue 125 in the tracker

但我們應該怎麼做呢?如果我們提供允許的自己的運行時。

我的app.yaml看起來像

application: montaoproject 
version: newsearch 
runtime: python27 
api_version: 1 
threadsafe: true 
module: default 
instance_class: F1 
automatic_scaling: 
    min_idle_instances: 5 
    max_idle_instances: automatic 
    min_pending_latency: automatic 
    max_pending_latency: 30ms 
    max_concurrent_requests: 50 

default_expiration: "14d 5h" 

env_variables: 
    GAE_USE_MONTAO : 'anyvalue' 
    KOOL_VERSION : '17a' 

includes: 
- br.yaml # Brazil 
- in.yaml # India 
- us.yaml # USA 
- pk.yaml 
- search.yaml # search pages 
- admin.yaml # admin pages 
- providers.yaml # auth providers 
- statics.yaml # static content 

handlers: 
- url: /(business|ai|newindia|insert-ad.html) 
    script: montao.app 

- url: /blobview.* 
    script: kool_update.app 
    login: admin 

- url: /market.* 
    script: main.app 

- url:/
    script: montao.app 

- url: /(index.html|sign-up.html|login.html) 
    script: montao.app 

- url: /(login.*|login|googlogin|googlogout|create/) 
    script: login.app 

- url: /(customer_service.htm|contactfileupload|support.html|faq.html) 
    script: customer_service.app 

- url: /stats.* 
    script: google.appengine.ext.appstats.ui.app 

# All other URLs use main.app 
- url: /.* 
    script: main.app 

inbound_services: 
- mail 

builtins: 
- remote_api: on 
- deferred: on 
#- appstats: on 

error_handlers: 
    - file: default_error.html 

libraries: 
- name: webapp2 
    version: latest 
- name: jinja2 
    version: latest 
- name: setuptools 
    version: latest 
- name: markupsafe 
    version: latest 
- name: django 
    version: latest 
- name: PIL 
    version: latest 
- name: webob 
    version: latest 
- name: lxml 
    version: latest 
- name: ssl 
    version: latest 

回答

1

是的,你app.yaml文件是一個標準的ENV一個(它並沒有在它vm:trueenv:flex)。

是的,可以在同一個應用程序中混合使用不同語言和不同環境的服務/模塊。您甚至可以在該模塊的版本中切換模塊的相同模塊的語言和環境。這是因爲模塊提供了完整的代碼隔離,請參閱Comparison of service isolation and project isolation。相關崗位:Upload a Java and node.js project to Google AppEngine at once

我總是試圖構建一個多業務/應用模塊在其自己的子目錄每項服務,如Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?

描述所以首先我想創建一個子目錄default您的應用程序目錄,並將所有現有的default模塊特定文件移入其中,除了應用級別的配置之外,我將保留在頂層,並在default目錄內符號鏈接,如該帖子中所述。然後我確認default模塊仍然按預期工作。

然後,我會創建一個新的子目錄,我需要添加每個新模塊,並根據需要添加它的代碼。

邊注:通過在上述標準ENV模塊的作品中提到的職位描述,但它可能不靈活的人工作,看到符號鏈接共享代碼Sharing code between modules in a GAE project

相關問題