Не удается удалить appEngineRoutingOverride из очереди задач Google Cloud

Я не могу заставить свою очередь облачных задач перестать переопределять маршрутизацию службы ядра приложений. Я создал очередь через панель управления GCP, не используя queue.yml или что-то еще.

Описание очереди:

$ gcloud tasks queues describe import
appEngineRoutingOverride:
  host: my-project-id.uc.r.appspot.com
name: projects/my-project-id/locations/us-central1/queues/import
purgeTime: '2021-03-31T00:45:22.941195Z'
rateLimits:
  maxBurstSize: 100
  maxConcurrentDispatches: 1000
  maxDispatchesPerSecond: 500.0
retryConfig:
  maxAttempts: 100
  maxBackoff: 3600s
  maxDoublings: 16
  minBackoff: 0.100s
state: PAUSED

Попытка сбросить флаг переопределения маршрутизации с помощью --clear-routing-override кажется успешной, но на самом деле не сбрасывает флаг

$ gcloud tasks queues update import --clear-routing-override
WARNING: You are managing queues with gcloud, do not use queue.yaml or queue.xml in the future. More details at: https://cloud.google.com/tasks/docs/queue-yaml.
Updated queue [import].
$ gcloud tasks queues describe import
appEngineRoutingOverride:
  host: my-project-id.uc.r.appspot.com
name: projects/my-project-id/locations/us-central1/queues/import
purgeTime: '2021-03-31T01:15:16.727288Z'
rateLimits:
  maxBurstSize: 20
  maxConcurrentDispatches: 1000
  maxDispatchesPerSecond: 100.0
retryConfig:
  maxAttempts: 100
  maxBackoff: 3600s
  maxDoublings: 16
  minBackoff: 0.100s
state: PAUSED

Если я изменю маршрутизацию на другую службу с помощью --routing-override, изменение будет успешным, но это означает, что у меня могут быть только задачи, указывающие на одну конкретную службу в этой очереди. Кроме того, если я изменю маршрутизацию, а затем щелкните Edit Queue на панели сведений о очереди, поля переопределения маршрутизации механизма приложения будут пустыми и не будут заполнены службой, которую я указал ранее. Если я нажму кнопку «Сохранить», флаг appEngineRoutingOverride будет сброшен на узел службы default. Даже если я изменю параметры переопределения через панель Edit Queue, обновлю, а затем открою резервную копию, служба все равно не будет заполнена, то есть если я изменю переопределение службы один раз, и кому-то из моей команды потребуется изменить другой параметр, например ограничения скорости, тогда маршрутизация будет сброшена, и все сломается.

imgur vid, чтобы четко продемонстрировать проблему.

РЕДАКТИРОВАТЬ: об этом несколько раз сообщалось в системе отслеживания проблем GCP.


person Alex    schedule 31.03.2021    source источник
comment
О, если бы я нашел ваш пост раньше. Только что потратил последние 4 часа на борьбу с этим. По какой-то причине в одной из моих очередей он каким-то образом был установлен. Это должна быть новая функция, которую они тихо выдвинули, и в истинном облачном способе Google я едва могу найти какие-либо документы по этому поводу и узнаю об этой функции только после того, как обнаружил в ней потенциальную ошибку. О, гугл облако ....   -  person mlablablab    schedule 25.04.2021
comment
Этот вопрос спасает жизнь. Я также только что потерял 4 часа, прежде чем нашел это сокровище. Я открою заявку в службу поддержки непосредственно в Google Cloud, чтобы, по крайней мере, они указали это как «Известные проблемы» в своей документации.   -  person MadJlzz    schedule 30.06.2021


Ответы (1)


Покопался, НЕ ИСПОЛЬЗУЙТЕ пользовательский интерфейс на could.google.com для создания или обновления очередей.

У новых всегда будет host, указывающий на значения по умолчанию. А обновленные получат host, указывающий на значение по умолчанию ... а затем вы молча испортили свою очередь.

Используйте команду cli для создания и обновления очередей

gcloud tasks queues update mey-new-queue --max-dispatches-per-second=10 --max-concurrent-dispatches=3

отрегулируйте флаги так, как вам нужно. Эта команда работает как upsert

(только что понял, как я испортил свою очередь, я случайно обновил ее через веб-интерфейс)

person mlablablab    schedule 25.04.2021
comment
Для справки: если вы хотите сбросить переопределение маршрутизации с помощью gcloud, вы можете запустить это: gcloud tasks queues update <queueName> --clear-routing-override - person MadJlzz; 30.06.2021