Использование Google Appengine Taskqueue в другой версии развертывания

При отправке задачи из версии задача заканчивается в другой версии для выполнения. Как мне выполнить задачу, выполняющуюся в той же версии развертывания?

Примечание: я попробовал 'target' в queue.xml, результат тот же. Задачи будут выполняться в произвольной разной версии. Это не всегда одно и то же.

Что не так с моей настройкой?

[ОБНОВИТЬ]

  <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 ответ

https://developers.google.com/appengine/docs/java/config/queue говорит, что цель

Строка с именем модуля / версии, версии внешнего интерфейса или серверной части, для которой выполняется эта задача.

Возможно, у вас есть модули? Если да, вы должны попробовать my-version.my-module как target; к сожалению, вам сейчас не повезет с этим: https://code.google.com/p/googleappengine/issues/detail?id=10954

Кстати, без цели это не должно быть случайным относительно того, где задача выполняется:

Если цель не указана, то задачи вызываются в той же версии приложения, в которой они были поставлены в очередь. Таким образом, если вы поставили задачу в очередь из версии приложения по умолчанию, не указав цель в очереди, задача вызывается в версии приложения по умолчанию. Обратите внимание, что если версия приложения по умолчанию изменяется между временем постановки задачи в очередь и временем ее выполнения, то задача будет выполняться в новой версии по умолчанию.

Другие вопросы по тегам