I don\'t think that my gae python app has a flexible environment because I created it many years ago. Now I want to try and create a module that has another runtime than python
Yes, your app.yaml
file is a standard env one (it doesn't have vm:true
or env:flex
in it).
Yes, it's possible to mix and match services/modules in different languages and with different environments inside the same app. You can even switch the language and environment of the same module in a different version of that module. That's because modules offer complete code isolation, see Comparison of service isolation and project isolation. Related post: Upload a Java and node.js project to Google AppEngine at once
I always try to structure a multi-service/module app with each service in its own subdir, as described in Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?
So first I'd create a default
subdirectory of your app dir and move all your existing default
module specific files into it, with the exception of the app-level config, which I'd keep at the top level and symlink inside the default
dir as described in that post. Then I'd verify that the default
module still works as expected.
Then I'd create a new subdirectory for every new module I need to add and add the code for it as needed.
Side note: sharing code via symlinks as described in the post mentioned above works for standard env modules, but it probably doesn't work with flexible ones, see Sharing code between modules in a GAE project