在不同的部署版本中使用Google Appengine Taskqueue

时间:2012-03-04 01:35:46

标签: google-app-engine task-queue

从版本提交任务时,任务最终会以不同的版本执行。如何在同一部署版本中执行任务?

注意: 我在queue.xml中尝试了'target',结果是一样的。任务将以随机的不同版本执行。它并不总是一样的。

我的设置有什么问题?

[UPDATE]

  <queue>
    <name>shopinionMessage</name>
    <rate>10/s</rate>
    <retry-parameters>
      <task-retry-limit>60</task-retry-limit>
      <min-backoff-seconds>1</min-backoff-seconds>
      <max-backoff-seconds>30</max-backoff-seconds>
      <max-doublings>0</max-doublings>
    </retry-parameters>
    <target>2</target>
  </queue>

1 个答案:

答案 0 :(得分:0)

https://developers.google.com/appengine/docs/java/config/queue#target说目标是

  

一个字符串,用于命名执行此任务的模块/版本,前端版本或后端。

你有模块吗?如果是,您应该my-version.my-module作为target;不幸的是,到目前为止你还没有获得任何运气:https://code.google.com/p/googleappengine/issues/detail?id=10954

顺便说一句,如果没有目标,就不应该随机执行任务:

  

如果未指定target,则会在它们入队的应用程序的同一版本上调用任务。因此,如果您在没有在队列上指定目标的情况下从默认应用程序版本中排队任务,则会在默认应用程序版本中调用该任务。请注意,如果默认应用程序版本在任务入队的时间和执行时间之间发生变化,则任务将以新的默认版本运行。