云端shell上的dev_appserver在终止后仍然运行

时间:2018-01-20 16:31:03

标签: google-app-engine google-cloud-shell dev-appserver

我正在通过云端shell在谷歌应用引擎上使用dev_appserver.py运行开发服务器。

我这样做就像第一个应用程序的教程所说的那样。 但是我自己的Flask应用程序提供静态文件(index.html +一些js和css)。

它运行正常,但在我使用 ctrl + c 终止它后,我仍然可以使用Web预览访问它。

问题是,当我想通过一些更改启动相同的应用程序时,它不会改变Web预览显示的内容。

我尝试的事情:

  • 我使用ps查找了开放流程。使用重新启动重新启动shell。
  • 确保使用shell实际更改了文件。
  • 清除本地浏览器上的缓存数据。使用不同的浏览器。
  • 使用--port选项以使用其他端口启动应用程序。它工作正常,但现在我有2台服务器正在运行。
  • 如果我在首先终止dev_appserver脚本之前更改了代码,它会检测到更改并提交它们。在我终止之后,即使我再次调用dev_appserver,它也不会改变。

可能我实际上并不了解dev_appserver的作用?也许Flask代码本身仍以某种方式运行?但是我怎样才能访问它?

的app.yaml

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: server.app

libraries:
- name: flask
  version: 0.12

1 个答案:

答案 0 :(得分:0)

我怀疑,这与dev_appserver.py无关 问题不知何故仍然是缓存。

我通过手机访问了该网站,发现该请求实际已发送。 所以我将using System.Collections; using System.Collections.Generic; using UnityEngine; public class SceneController : MonoBehaviour { [SerializeField] private GameObject _rockSpawnerPrefab; public int numRocks = 6; public int minSpawnDelaySec = 1; public int maxSpawnDelaySec = 3; private bool spawnersInitialized = false; void Start () { InitializeSpawners(); } void Update () { } void InitializeSpawners() { float[] pattern = new float[numRocks]; for (int i = 0; i < numRocks; i++) { // Generate delays at half second increments within bounds float delay = Mathf.Floor(Random.value * ((float)(maxSpawnDelaySec + 0.5f - minSpawnDelaySec) / 0.5f)); delay = delay * 0.5f + minSpawnDelaySec; pattern[i] = delay; } GameObject spawner = Instantiate(_rockSpawnerPrefab) as GameObject; spawner.transform.position = new Vector3(0, 4, 0); RockSpawner rockSpawnerScript = spawner.GetComponent<RockSpawner>(); rockSpawnerScript.Initialize(pattern); } } 添加到我的Flask应用中, 在一个新端口启动服务器,它现在可以正常工作。