【发布时间】:2012-03-21 23:37:29
【问题描述】:
我有一个谷歌 appengine 应用,它在动态后端运行一些代码,定义如下:
backends:
- name: downloadfilesbackend
class: B1
instances: 1
options: dynamic
我最近对我的代码进行了一些更改并添加了第二个后端。我已经将一些任务从前端移到了新的后端,它们运行良好。但是,我想将最初在 downloadfilesbackend 上运行的任务移动到新的后端(以节省实例时间)。我只是通过将目标的名称更改为新的后端来做到这一点,即
taskqueue.add(queue_name = "organise-files",
url=queue_organise_files,
target='organise-files-backend')
但是,尽管将新后端名称作为目标,但任务仍由旧后端运行。知道为什么会发生这种情况或如何解决吗?
编辑: 旧后端正在运行新任务 - 我已经检查过了。
我还检查了我的所有代码,以检查是否有任何东西在调用旧后端,但什么都没有。只有两种方法将任务添加到旧后端,并且这两种方法都已如上文所述进行了更改。
我将旧后端停止了几个小时,看看这是否会改变任何事情,但所发生的只是任务卡住了,直到我重新启动后端。新后端运行其他任务正常,所以肯定更新正确...
【问题讨论】:
-
我无法重现这个。原始后端队列中是否仍有一些任务(从您的更改之前)仍在执行?您可能会检查的另一件事是您是否在更改后根据需要重新部署了后端。
-
我已根据您的查询更新了帖子,提供了更多详细信息。
标签: python google-app-engine yaml backend