2017-02-26 8 views
0

私は数年前に作成したので、私のgaeのpythonアプリケーションは柔軟な環境を持っているとは思わない。今、私は、Python以外のランタイムを持つモジュールを作成して、新しいランタイム、カスタムまたは別のPythonと一緒にPythonアプリケーションを実行し続けたいと考えています。たぶん、PHPとPythonなどを混在させることができます。私はそれを必要としませんが、私は可能性を学び、探求したいと思います。また、Erlangの学習に興味があり、appengineでErlangコードをデプロイしています。私はすでにそれについての質問非柔軟性環境アプリのカスタムランタイムですか?

erlang on google app engine?

そしてissue 125 in the trackerがある参照してください。

実際にどうすればよいですか?許可された独自のランタイムを提供する場合。

私のapp.yamlをはい、あなたのapp.yamlファイルは標準のenv 1(それはそれでvm:trueまたはenv:flexを持っていない)である

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

のように見えます。

はい、さまざまな言語のサービス/モジュールを同じアプリ内で異なる環境と組み合わせて組み合わせることは可能です。 同じモジュールの言語と環境を、そのモジュールの異なるバージョンに切り替えることもできます。これは、モジュールが完全なコード分離を提供するからです。Comparison of service isolation and project isolationを参照してください。関連記事:Upload a Java and node.js project to Google AppEngine at once

私はいつも最初に、私はあなたのアプリケーションのディレクトリのdefaultサブディレクトリを作成したい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モジュールがまだ期待どおりに機能することを確認します。

次に、必要に応じてコードを追加して追加するために必要な新しいモジュールごとに、新しいサブディレクトリを作成します。

サイドノート:シンボリックリンクを経由して共有コード標準のenvモジュールの作品上記の記事で説明したように、それはおそらく、Sharing code between modules in a GAE project

を参照して、柔軟なものでは動作しません。
関連する問題