Использование 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
Кстати, без цели это не должно быть случайным относительно того, где задача выполняется:
Если цель не указана, то задачи вызываются в той же версии приложения, в которой они были поставлены в очередь. Таким образом, если вы поставили задачу в очередь из версии приложения по умолчанию, не указав цель в очереди, задача вызывается в версии приложения по умолчанию. Обратите внимание, что если версия приложения по умолчанию изменяется между временем постановки задачи в очередь и временем ее выполнения, то задача будет выполняться в новой версии по умолчанию.