如何将任务发送到新命名的后端

时间:2012-03-03 23:16:19

标签: python google-app-engine yaml backend

我有一个google 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')

然而,尽管将新的后端名称作为目标,旧任务仍由旧后端运行。知道为什么会这样或者我如何解决它?

编辑: 旧的后端正在运行新任务 - 我已经检查过了。

我也经历了所有代码,检查是否有任何东西正在调用旧的后端,什么都没有。只有两种方法可以将任务添加到旧后端,并且这两种方法都已如上所述进行了更改。

我停止了旧的后端几个小时,看看这是否会改变任何东西,但所有发生的事情是任务被卡住,直到我重新启动后端。新的后端正在运行其他任务,所以它肯定已经正确更新...

1 个答案:

答案 0 :(得分:0)

这需要一段时间,但我终于发现仅仅更改代码并使用SDK上传它是不够的。如果在后端运行的代码或向后端处理程序发送任务的代码已更改,则必须运行

appcfg backends <dir> update [backend]

documentation for this command is here。没有任何我见过的文档说这个 - 它与我遇到的另一个相关错误有关,这促使这是一个途径。我以为我会让人们知道谁可能遇到类似的问题