I edited my dispatch.yaml and deployed on app engine using appcfg.py update_dispatch .
But when I go and see source code under StackDriver debug, I don't see the change.
Why the changes doesn't get reflected. But when I deploy complete app by appcfg.py update . the changes get reflected.
But in case, If I only want to update dispatch how do I do???
While debatable, I'd say this is somehow the expected behaviour (at least from a historic prospective - even since support for multiple service/modules was added).
There is a difference between the code itself and what the code does - at least for the app-level config files:
dispatch.yaml
,cron.yaml
,index.yaml
andqueue.yaml
. The configurations corresponding to these files apply to the entire application, not to a single service/module. But the app code exists only in one or more service/module code repositories, there is no app-level repository (yet). So, to be version-controlled, these config files are present into one (or more) service/module code repositories.When you're looking in StackDriver you're looking at a specific version of the service/module code containing those files and, to see a change, you need to update the respective service/module code. This is what
appcfg.py update
does. Which may or may not always update the live configurations (the behaviour!) corresponding to these configurations files, for whatever reason.This is why each of these configuration files also has a corresponding command to update the live configuration/behaviour, which can be done independently from the updates of the service/module code in which they reside. This is what
appcfg.py update_dispatch
does - it only updates the actual Dispatch Rules of the entire app.Related: Is Appengine dispatch.yaml file affecting a specific module version?