Конфигурация принудительной очереди позволяет указать целевую службу по имени, которое понимает сервер разработки.С Синтаксис :
target (push-очереди)
Необязательно.Строка с именем службы / версии, версии внешнего интерфейса или серверной части, для которой выполняются все задачи, поставленные в очередь в этой очереди.
Строка добавляется к имени домена вашего приложения при создании HTTPзапрос на задание.Например, если идентификатор вашего приложения равен my-app , а для цели установлено значение my-version.my-service , имя хоста URL будет установлено на my-version.my-service.my-app.appspot.com .
Если цель не указана, то задачи вызываются в той же версии приложения, в которой они были поставлены в очередь.Таким образом, если вы поставили задачу в очередь из версии приложения по умолчанию, не указав цель в очереди, задача вызывается в версии приложения по умолчанию.Обратите внимание, что если версия приложения по умолчанию изменяется между временем постановки задачи в очередь и временем ее выполнения, то задача будет выполняться в новой версии по умолчанию.
Если вы используете службы вместе с файл отправки , HTTP-запрос вашей задачи может быть перехвачен и перенаправлен в другую службу.
Например, базовый queue.yaml
будет выглядеть следующим образом:
queue:
- name: service_a
target: service_a
- name: service_b
target: service_b
Я не уверен на 100%, достаточно ли одного этого, лично я также использую файл dispatch.yaml
, так как мне нужно направлять запросы, отличные от задач.Но для этого вам нужно иметь четко определенный шаблон в URL, так как шаблоны на основе имени хоста не поддерживаются на сервере разработки.Например, если запросы Службы A используют /service_a/...
пути, а Служба B использует /service_b/...
пути, то это бы сработало:
dispatch:
- url: "*/service_a/*"
service: service_a
- url: "*/service_b/*"
service: service_b
В вашем случае может быть в состояниидобейтесь того, что вы хотите, с помощью всего лишь файла отправки - т.е. все еще используя очередь по умолчанию.Попробуйте.