Cloudrun на GKE - время ожидания и перезапуск

При запуске CloudRun на GKE. Через графический интерфейс кажется, что память ограничена 2 ГБ, однако после выполнения в CloudRun Pod я могу подтвердить, что память была из пула узлов GKE.

Тем не менее, я не слишком уверен, применяется ли таймаут или нет. Похоже, CloudRun на GKE все еще ограничен. Во-первых, я не могу выбрать "900" или "800" из списка. Это позволяет мне выбрать "600".

После выбора 600 кажется, что мой контейнер работал около 11-12 минут, а затем внезапно умер. Единственным объяснением является то, что тайм-аут запроса для CloudRun применяется к GKE.

Я пытаюсь реализовать долгосрочные задачи, которые будут запланированы на кластере GKE и выполнены CloudRun. Во-первых, графический интерфейс GCP CloudRun вводит в заблуждение. Это позволяет разработчику выбирать значения для памяти и тайм-аута, которые на самом деле не реализованы. Еще одна проблема, которую я обнаружил, заключалась в том, что мой контейнер перезапускал код на том же "модуле" в середине. Это объясняется ниже с помощью кода и примера вывода.

Метод POST, используемый для запуска CloudRun из cmdline

curl --header "Content-Type: application/json" --request POST --data '{"[requiredData]":"[data]"}' -v -H "Host: testcrlaa.default.example.com" [istio-ingressgateway/80/tasks]

Код запускается на CloudRun для тестирования:

@app.route('/tasks', methods=['POST'])
def create_task():
    if not request.json or not '[requiredData]' in request.json:
        abort(400)
    print("Slept1 @ " + str(datetime.datetime.now()))
    time.sleep(120)
    print("Slept2 @ " + str(datetime.datetime.now()))
    time.sleep(120)
    print("Slept3 @ " + str(datetime.datetime.now()))
    time.sleep(120)
    print("Slept4 @ " + str(datetime.datetime.now()))
    time.sleep(120)
    print("Slept5 @ " + str(datetime.datetime.now()))
    time.sleep(120)
    print("The time now is: {}".format(datetime.datetime.now()))

Выход:

Slept1 @ 2019-05-29 14: 40: 47.781966

Slept2 @ 2019-05-29 14: 42: 47.880512

Slept3 @ 2019-05-29 14: 44: 47.976342

Slept1 @ 2019-05-29 14: 45: 47.793551 <- 1

Slept4 @ 2019-05-29 14: 46: 48.069593

Slept2 @ 2019-05-29 14: 47: 47.892927 <- 2

Slept5 @ 2019-05-29 14: 48: 48.169817

Slept3 @ 2019-05-29 14: 49: 47.987202 <- 3

...

Через 5 минут он перезапустил код с самого начала, продолжая работать с исходным кодом. Контейнер завершился через 10 минут, когда тайм-аут запроса CloudRun был установлен на 300.

0 ответов

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